<?php

namespace App\Contracts;

use App\Models\Voice;

interface VoiceSynthesizer
{
    /**
     * Synthesize speech for the given text using the given voice and return the stored disk path.
     */
    public function synthesize(string $text, Voice $voice): string;

    /**
     * Generate a short preview sample for a voice (section 8: "Voice Preview").
     */
    public function preview(Voice $voice, string $sampleText = 'Hi, this is a preview of my voice.'): string;
}
