/** * Типы всех событий, которые можно слушать через client.on() */ export type RealtimeEventMap = { 'user:item_started': { itemId: string; }; 'user:delta': { itemId: string; delta: string; }; 'user:completed': { itemId: string; transcript: string; }; 'user:failed': { itemId: string; error?: any; }; 'user:truncated': { itemId: string; }; 'assistant:response_started': { responseId: string; }; 'assistant:item_started': { itemId: string; }; 'assistant:delta': { responseId: string; delta: string; channel?: 'audio_transcript' | 'output_text'; }; 'assistant:completed': { responseId: string; status: 'done' | 'canceled'; }; 'tool:call_delta': { call_id: string; name: string; delta: string; }; 'tool:call_done': { call_id: string; name: string; args: any; }; 'speech_started': void; 'speech_stopped': void; 'timeout_triggered': void; 'input_audio_buffer.committed': any; 'input_audio_buffer.cleared': any; 'output_audio_buffer.started': any; 'output_audio_buffer.stopped': any; 'output_audio_buffer.cleared': any; 'dataChannelOpen': any; 'dataChannelMessage': any; 'dataChannelClose': void; 'error': { scope: 'tool' | 'server' | string; error: any; }; [key: string]: any; }; /** * Типизированный слушатель событий */ export type RealtimeEventListener = (payload: RealtimeEventMap[K]) => void; /** * Коллбэки для всех Success событий (полный список) */ export interface RealtimeSuccessCallbacks { onHangUpStarted?: () => void; onHangUpDone?: () => void; onPeerConnectionCreatingStarted?: () => void; onPeerConnectionCreated?: (pc: any) => void; onRTCPeerConnectionStateChange?: (state: 'new' | 'connecting' | 'connected' | 'disconnected' | 'failed' | 'closed') => void; onGetUserMediaSetted?: (stream: any) => void; onLocalStreamSetted?: (stream: any) => void; onLocalStreamAddedTrack?: (track: any) => void; onLocalStreamRemovedTrack?: (track: any) => void; onRemoteStreamSetted?: (stream: any) => void; onDataChannelOpen?: (channel: any) => void; onDataChannelMessage?: (message: any) => void; onDataChannelClose?: () => void; onIceGatheringComplete?: () => void; onIceGatheringTimeout?: () => void; onIceGatheringStateChange?: (state: string) => void; onMicrophonePermissionGranted?: () => void; onMicrophonePermissionDenied?: () => void; onIOSTransceiverSetted?: () => void; onSuccess?: (stage: string, data?: any) => void; } /** * Коллбэки для Error событий */ export type ErrorCallbackPayload = { stage: string; error: Error; severity: 'critical' | 'warning' | 'info'; recoverable: boolean; timestamp: number; context?: Record; }; export interface RealtimeErrorCallbacks { onError?: (event: ErrorCallbackPayload) => void; } //# sourceMappingURL=Events.d.ts.map