interface SocketAudioInputMessage { type: 'audio'; payload: { audio: string; markIndex: number; }; } interface SocketEndInputMessage { type: 'end'; } interface SocketInterruptInputMessage { type: 'interrupt'; } interface SocketStartInputMessage { type: 'start'; payload: { conversationID: string; }; } interface SocketErrorInputMessage { type: 'error'; payload: { message: string; }; } interface SocketBackgroundAudioInputMessage { type: 'background_audio'; payload: { src: string; }; } export type SocketInputMessage = SocketStartInputMessage | SocketErrorInputMessage | SocketAudioInputMessage | SocketInterruptInputMessage | SocketEndInputMessage | SocketBackgroundAudioInputMessage; interface SocketMarkOutputMessage { type: 'mark'; payload: { markIndex: number; }; } interface SocketStartOutputMessage { type: 'start'; payload: { userID: string; assistantID: string; authorization?: string; transcript: { device?: string; os?: string; browser?: string; user?: { name?: string; image?: string; }; }; }; } export type SocketOutputMessage = Blob | SocketMarkOutputMessage | SocketStartOutputMessage; export declare class SocketService { private url; private socket; private onError; private onClose; private onMessage; private connectionPromise; constructor(options: { url: string; onError: (error: unknown) => void; onMessage: (message: SocketInputMessage) => void; onClose?: () => void; }); private createSocket; private onSocketError; private onSocketMessage; private onSocketClose; start(): Promise; stop(): void; send(message: SocketOutputMessage): void; } export {}; //# sourceMappingURL=socket.service.d.ts.map