/** Configuration for {@link UltravoxRealtime}. */ export type UltravoxLiveConfig = { /** Model id. Default `'fixie-ai/ultravox'`. */ model?: string; /** Voice id. Default `null` (sent as empty string). */ voice?: string | null; /** Language hint code. Default `'en'`. */ languageHint?: string; /** Sampling temperature. Default `null` (omitted). */ temperature?: number | null; /** Maximum session duration (e.g. `'300s'`). Default `null`. */ maxDuration?: string | null; /** Message spoken when `maxDuration` is exceeded. Default `null`. */ timeExceededMessage?: string | null; /** Sample rate (Hz) of the audio sent in. Default `48000`. */ inputSampleRate?: number; /** Sample rate (Hz) of synthesized audio. Default `24000`. */ outputSampleRate?: number; /** Client-side audio buffer size in ms. Default `30000`. */ clientBufferSizeMs?: number; /** Silence (ms) before a turn ends. Default `800`; `null` omits the param. */ vadTurnEndpointDelayMs?: number | null; /** Minimum turn duration in ms. Default `600`; `null` omits the param. */ vadMinimumTurnDurationMs?: number | null; /** Minimum interruption duration in ms. Default `null`. */ vadMinimumInterruptionDurationMs?: number | null; /** Per-frame VAD activation threshold in [0, 1]. Default `0.4`; `null` omits the param. */ vadFrameActivationThreshold?: number | null; /** Who speaks first, e.g. `'FIRST_SPEAKER_USER'`. Default `'FIRST_SPEAKER_USER'`. */ firstSpeaker?: string | null; /** Have the agent open with a greeting prompt. Default `false`. */ enableGreetingPrompt?: boolean; /** Override the API base URL. Default `null`. */ baseUrl?: string | null; }; interface ResolvedConfig { model: string; voice: string | null; languageHint: string; temperature: number | null; maxDuration: string | null; timeExceededMessage: string | null; inputSampleRate: number; outputSampleRate: number; clientBufferSizeMs: number; vadTurnEndpointDelayMs: number | null; vadMinimumTurnDurationMs: number | null; vadMinimumInterruptionDurationMs: number | null; vadFrameActivationThreshold: number | null; firstSpeaker: string | null; enableGreetingPrompt: boolean; baseUrl: string | null; } declare class UltravoxRealtimeImpl { static readonly displayName = "UltravoxRealtime"; _providerName: string; _isRealtimeModel: boolean; apiKey?: string; config: ResolvedConfig; model: string; voice: string; params: Record; constructor(opts?: { apiKey?: string; config?: UltravoxLiveConfig | null; [key: string]: any; }); close(): Promise; cleanup(): Promise; getRuntimeConfig(): Record; } export type UltravoxRealtime = UltravoxRealtimeImpl; /** * Ultravox realtime speech-to-speech (S2S) model. * * @param opts.apiKey Ultravox API key; defaults to the `ULTRAVOX_API_KEY` env var. * @param opts.config Session configuration; see {@link UltravoxLiveConfig}. */ export declare const UltravoxRealtime: (opts?: { apiKey?: string; config?: UltravoxLiveConfig | null; [key: string]: any; }) => UltravoxRealtime; export {};