import { TTS } from '../../agents/providers.js'; import type { SarvamAITTSModel } from './models.js'; /** * Options for {@link SarvamAITTS}. * * Passing an unknown option throws a `TypeError`. */ export type SarvamAITTSOptions = { /** Sarvam AI API key. Defaults to the `SARVAM_API_KEY` environment variable. */ apiKey?: string; /** TTS model id. Default `'bulbul:v3'`. */ model?: SarvamAITTSModel | string; /** Language code. Default `'en-IN'`. */ language?: string; /** Speaker/voice id. Default `'shubh'`. */ speaker?: string; /** Stream audio as it is synthesized. Default `true`. */ streaming?: boolean; /** Output audio sample rate in Hz. Default `24000`. */ sampleRate?: number; /** Output audio codec. */ outputAudioCodec?: string; /** Pitch adjustment. Default `0.0`. */ pitch?: number | null; /** Speaking pace multiplier. Default `1.0`. */ pace?: number | null; /** Loudness multiplier. Default `1.0`. */ loudness?: number | null; /** Sampling temperature. Default `0.6`. */ temperature?: number | null; /** Output audio bitrate. Default `'128k'`. */ bitrate?: string; /** Minimum buffer size before emitting audio. */ minBufferSize?: number; /** Maximum characters per synthesis chunk. */ maxChunkLength?: number; /** Enable text preprocessing/normalization. Default `false`. */ preprocessing?: boolean; [key: string]: any; }; declare class SarvamAITTSImpl extends TTS { static readonly displayName = "SarvamAITTS"; _providerName: string; apiKey?: string; voiceId: string; voice: string; model: string; language: string; streaming: boolean; pitch: number | null; pace: number | null; loudness: number | null; temperature: number | null; preprocessing: boolean; bitrate: string; constructor(opts?: SarvamAITTSOptions); getRuntimeConfig(): Record; } export type SarvamAITTS = SarvamAITTSImpl; /** Sarvam AI text-to-speech (TTS) synthesizer. */ export declare const SarvamAITTS: (opts?: SarvamAITTSOptions) => SarvamAITTS; export {};