import { STT } from '../../agents/providers.js'; import type { SarvamAISTTModel } from './models.js'; /** * Options for {@link SarvamAISTT}. * * Passing an unknown option throws a `TypeError`. */ export type SarvamAISTTOptions = { /** Sarvam AI API key. Defaults to the `SARVAM_API_KEY` environment variable. */ apiKey?: string; /** Transcription model id. Default `'saaras:v3'`. */ model?: SarvamAISTTModel | string; /** Spoken language code. Default `'en-IN'`. */ language?: string; /** Sample rate (Hz) of the audio sent in. Default `48000`. */ inputSampleRate?: number; /** Sample rate in Hz that input audio is resampled to. Default `16000`. */ outputSampleRate?: number; /** Decoding mode. Default `null` (provider default). */ mode?: string | null; /** Use a more sensitive VAD profile. Default `null`. */ highVadSensitivity?: boolean | null; /** Emit flush signals between turns. Default `null`. */ flushSignals?: boolean | null; /** Translate transcripts to the target language. Default `false`. */ translation?: boolean; /** Optional prompt to bias transcription. Default `null`. */ prompt?: string | null; /** Input audio codec. Default `'pcm_s16le'`. */ inputAudioCodec?: string; /** Emit VAD signals. Default `true`. */ vadSignals?: boolean | null; /** VAD probability above which a frame counts as speech. Default `null`. */ positiveSpeechThreshold?: number | null; /** VAD probability below which a frame counts as non-speech. Default `null`. */ negativeSpeechThreshold?: number | null; /** Minimum frames of speech to start a turn. Default `null`. */ minSpeechFrames?: number | null; /** Minimum speech frames for the first turn. Default `null`. */ firstTurnMinSpeechFrames?: number | null; /** Audio frames of padding prepended before speech. Default `null`. */ preSpeechPadFrames?: number | null; /** Minimum speech frames required to interrupt. Default `null`. */ interruptMinSpeechFrames?: number | null; [key: string]: any; }; declare class SarvamAISTTImpl extends STT { static readonly displayName = "SarvamAISTT"; _providerName: string; apiKey?: string; model: string; language: string; sampleRate: number; inputSampleRate: number; outputSampleRate: number; mode: string | null; highVadSensitivity: boolean | null; flushSignals: boolean | null; translation: boolean; prompt: string | null; inputAudioCodec: string; vadSignals: boolean | null; positiveSpeechThreshold: number | null; negativeSpeechThreshold: number | null; minSpeechFrames: number | null; firstTurnMinSpeechFrames: number | null; preSpeechPadFrames: number | null; interruptMinSpeechFrames: number | null; constructor(opts?: SarvamAISTTOptions); getRuntimeConfig(): Record; } export type SarvamAISTT = SarvamAISTTImpl; /** Sarvam AI speech-to-text (STT) transcriber. */ export declare const SarvamAISTT: (opts?: SarvamAISTTOptions) => SarvamAISTT; export {};