<?php

declare(strict_types=1);

namespace App\Framework\Notification\Interfaces;

use App\Framework\Notification\Notification;

/**
 * Interface for notification channels that support video attachments
 *
 * Implement this interface if your channel can send videos
 */
interface SupportsVideoAttachments
{
    /**
     * Send notification with video attachment
     *
     * @param Notification $notification The notification to send
     * @param string $videoPath Local file path or URL to video
     * @param string|null $caption Optional caption for the video
     * @param string|null $thumbnailPath Optional thumbnail image path
     */
    public function sendWithVideo(
        Notification $notification,
        string $videoPath,
        ?string $caption = null,
        ?string $thumbnailPath = null
    ): void;
}
