<?php

namespace App\Contracts;

interface PendingNotificationProcessor
{
    /**
     * Apply a single captured provider webhook payload to the system.
     *
     * Called once per pending notification by the batch drainer, already wrapped
     * in a short, deadlock-retried transaction. Implementations should perform the
     * provider-specific write (e.g. create/update a vehicle) and may throw to mark
     * the notification as failed.
     */
    public function process(array $payload): void;
}
