/** Voice ids supported by the xAI realtime model. */ export declare const SUPPORTED_VOICES: readonly ["Ara", "Rex", "Sal", "Eve", "Leo"]; /** Server-side voice-activity turn-detection settings for {@link XaiRealtimeConfig}. */ declare class TurnDetectionConfigImpl { static readonly displayName = "TurnDetectionConfig"; type: string; threshold: number; prefixPaddingMs: number; silenceDurationMs: number; createResponse: boolean; interruptResponse: boolean; constructor(opts?: { type?: string; threshold?: number; prefixPaddingMs?: number; silenceDurationMs?: number; createResponse?: boolean; interruptResponse?: boolean; }); } export type TurnDetectionConfig = TurnDetectionConfigImpl; /** * Build server-side turn-detection settings. * * @param opts.type Detection mode. Default `'server_vad'`. * @param opts.threshold Speech-probability threshold in [0, 1]. Default `0.5`. * @param opts.prefixPaddingMs Audio padding (ms) before detected speech. Default `300`. * @param opts.silenceDurationMs Trailing silence (ms) that ends a turn. Default `200`. * @param opts.createResponse Auto-create a response when a turn ends. Default `true`. * @param opts.interruptResponse Allow user speech to interrupt the model. Default `true`. */ export declare const TurnDetectionConfig: (opts?: { type?: string; threshold?: number; prefixPaddingMs?: number; silenceDurationMs?: number; createResponse?: boolean; interruptResponse?: boolean; }) => TurnDetectionConfig; /** Input-audio transcription settings for {@link XaiRealtimeConfig}. */ declare class InputAudioTranscriptionConfigImpl { static readonly displayName = "InputAudioTranscriptionConfig"; model: string; constructor(opts?: { model?: string; }); } export type InputAudioTranscriptionConfig = InputAudioTranscriptionConfigImpl; /** * Build input-audio transcription settings. * * @param opts.model Transcription model id. Default `'gpt-4o-mini-transcribe'`. */ export declare const InputAudioTranscriptionConfig: (opts?: { model?: string; }) => InputAudioTranscriptionConfig; /** Configuration object for {@link XaiRealtime}. */ declare class XaiRealtimeConfigImpl { static readonly displayName = "XaiRealtimeConfig"; model: string; voice: string; modalities: string[]; temperature: number; maxResponseOutputTokens: number | string; turnDetection: TurnDetectionConfig | null; inputAudioTranscription: InputAudioTranscriptionConfig | null; toolChoice: string; baseUrl: string | null; constructor(opts?: { model?: string; voice?: string; modalities?: string[]; temperature?: number; maxResponseOutputTokens?: number | string; turnDetection?: TurnDetectionConfig | null; inputAudioTranscription?: InputAudioTranscriptionConfig | null; toolChoice?: string; baseUrl?: string | null; }); } export type XaiRealtimeConfig = XaiRealtimeConfigImpl; /** * Build configuration for {@link XaiRealtime}. * * @param opts.model Realtime model id. Default `'grok-realtime'`. * @param opts.voice Voice id (see {@link SUPPORTED_VOICES}). Default `'Ara'`. * @param opts.modalities Response modalities. Default `['text', 'audio']`. * @param opts.temperature Sampling temperature. Default `0.8`. * @param opts.maxResponseOutputTokens Max output tokens; default the string `'inf'` (unlimited). * @param opts.turnDetection Turn-detection settings; `null` disables. Defaults to {@link TurnDetectionConfig}() when omitted. * @param opts.inputAudioTranscription Transcription settings; `null` disables. Defaults to {@link InputAudioTranscriptionConfig}() when omitted. * @param opts.toolChoice Tool-selection strategy. Default `'auto'`. * @param opts.baseUrl Override the API base URL. Default `null`. */ export declare const XaiRealtimeConfig: (opts?: { model?: string; voice?: string; modalities?: string[]; temperature?: number; maxResponseOutputTokens?: number | string; turnDetection?: TurnDetectionConfig | null; inputAudioTranscription?: InputAudioTranscriptionConfig | null; toolChoice?: string; baseUrl?: string | null; }) => XaiRealtimeConfig; /** Options for {@link XaiRealtime}. */ export type XaiRealtimeOptions = { /** xAI API key. Defaults to the `XAI_API_KEY` environment variable. */ apiKey?: string; /** Realtime configuration; see {@link XaiRealtimeConfig}. Defaults applied when omitted. */ config?: XaiRealtimeConfig; [key: string]: any; }; declare class XaiRealtimeImpl { static readonly displayName = "XaiRealtime"; _providerName: string; _isRealtimeModel: boolean; apiKey?: string; config: XaiRealtimeConfig; model: string; voice: string; params: Record; constructor(opts?: XaiRealtimeOptions); close(): Promise; cleanup(): Promise; getRuntimeConfig(): Record; } export type XaiRealtime = XaiRealtimeImpl; /** xAI (Grok) realtime speech-to-speech (S2S) model. */ export declare const XaiRealtime: (opts?: XaiRealtimeOptions) => XaiRealtime; export {};