<?php

declare(strict_types=1);

/**
 * Stable narrow mail transport contract.
 *
 * @apiVersion 1
 */
interface MailTransportInterface
{
    public function send(MailEnvelope $envelope): MailDispatchResult;

    /**
     * @return array{slug:string,label:string,description:string,scopes:list<string>,capabilities:list<string>}
     */
    public function describe(): array;
}
