/** * ElevenLabs `output_format` values we accept. Each maps to a container/ * codec + sample-rate + bitrate. The Python CLI takes a free string, but we * validate against the documented ElevenLabs set so a typo surfaces as a * clean `invalid_audio_format` error rather than an opaque API 4xx. */ export declare const VALID_OUTPUT_FORMATS: readonly ["mp3_22050_32", "mp3_44100_32", "mp3_44100_64", "mp3_44100_96", "mp3_44100_128", "mp3_44100_192", "pcm_8000", "pcm_16000", "pcm_22050", "pcm_24000", "pcm_44100", "pcm_48000", "ulaw_8000", "alaw_8000", "opus_48000_32", "opus_48000_64", "opus_48000_96", "opus_48000_128", "opus_48000_192"]; export type OutputFormat = typeof VALID_OUTPUT_FORMATS[number]; export declare const DEFAULT_OUTPUT_FORMAT: OutputFormat; /** * Validate an ElevenLabs output-format string. Returns the normalized format * on success; throws `VclawError('invalid_audio_format', ...)` otherwise. */ export declare function validateOutputFormat(format: string): OutputFormat; /** * The file extension that corresponds to a given output format * (mp3 -> mp3, pcm/ulaw/alaw -> wav, opus -> opus). */ export declare function extensionForFormat(format: string): string; /** * Derive a per-scene audio filename. Scene indexes are 1-based in the * transcript / on disk to mirror the Python pipeline's `scene_NN` naming. */ export declare function sceneAudioFilename(sceneIndex: number, format: string): string; /** Filename for the combined narration track. */ export declare function combinedNarrationFilename(format: string): string; /** * Format a duration (milliseconds) as `MM:SS.mmm` for human-readable logs * and report entries. */ export declare function formatDuration(durationMs: number): string; //# sourceMappingURL=audio-utils.d.ts.map