<?php

declare(strict_types=1);

namespace App\Framework\Notification\Interfaces;

use App\Framework\Notification\Notification;

/**
 * Interface for notification channels that support audio attachments
 *
 * Implement this interface if your channel can send audio files
 */
interface SupportsAudioAttachments
{
    /**
     * Send notification with audio attachment
     *
     * @param Notification $notification The notification to send
     * @param string $audioPath Local file path or URL to audio
     * @param string|null $caption Optional caption for the audio
     * @param int|null $duration Optional duration in seconds
     */
    public function sendWithAudio(
        Notification $notification,
        string $audioPath,
        ?string $caption = null,
        ?int $duration = null
    ): void;
}
