<?php
/**
 * @package Hafenstudios\Kurato
 */

namespace Hafenstudios\Kurato\Mail;

use Hafenstudios\Core\Mail\MailDriver;
use Hafenstudios\Core\Mail\Message;

defined( 'ABSPATH' ) || exit;

/**
 * ESP-Treiber: ein Core-MailDriver, der zusaetzlich ein detailliertes Ergebnis
 * liefert (Provider-Message-ID, permanent/transient). Die Marketing-Queue nutzt
 * `send_detailed`; der Core und Transaktionsmails nutzen weiter das schlichte
 * `send`. So bleibt der Core unveraendert (K4-Konzept Abschnitt 1).
 */
interface EspDriver extends MailDriver {

	/**
	 * Versendet mit detailliertem Ergebnis.
	 *
	 * @param Message $message Nachricht.
	 * @return SendResult
	 */
	public function send_detailed( Message $message ): SendResult;
}
