<?php

declare(strict_types=1);

namespace PortalPeople\delivery\contracts;

use PortalPeople\delivery\dto\ConsignmentResult;

/**
 * Contract for provider adapters used by the shared delivery orchestration.
 */
interface CarrierAdapterInterface
{
    public function getProviderName(): string;

    /**
     * Create a provider consignment and return a normalized result.
     *
     * @param mixed $cart
     * @param mixed $payload
     */
    public function createConsignment($cart, $payload): ConsignmentResult;
}
