export type RealtimeBrowserStatus = | 'idle' | 'connecting' | 'connected' | 'listening' | 'speaking' | 'calling-tool'; export interface RealtimeBrowserCallbacks { onStatus: (status: RealtimeBrowserStatus) => void; onTraineeTranscript: (text: string) => void; onCustomerTranscript: (text: string) => void; onAudioPlaybackBlocked: (blocked: boolean) => void; onToolCall: (callId: string, name: string, argsJson: string) => Promise; onTerminated: () => void; onError: (message: string) => void; } export interface RealtimeBrowserEngine { start: (sessionUpdate: Record, sessionId?: string) => Promise; stop: () => void; resumeAudio: () => Promise; } export const isRealtimeBrowserSupported: () => boolean; export const createRealtimeBrowserEngine: ( callbacks: RealtimeBrowserCallbacks, exchangeSdp: (offerSdp: string, sessionId?: string) => Promise ) => RealtimeBrowserEngine;