export declare enum RealtimeTranscriberEvent { onReceiveTranscriberMessage = "onReceiveTranscriberMessage", onRealtimeTranscriberStarted = "onRealtimeTranscriberStarted", onRealtimeTranscriberStopped = "onRealtimeTranscriberStopped", onRealtimeTranscriberError = "onRealtimeTranscriberError" } export declare type TranscriberLanguage = string; export interface TranscriberMessage { segmentId: string; speakerUserId: string; sourceText: string; translationTexts?: Map; timestamp: number; isCompleted: boolean; } export interface RealtimeTranscriberEventInfoMap { [RealtimeTranscriberEvent.onReceiveTranscriberMessage]: { roomId: string | number; message: TranscriberMessage; }; [RealtimeTranscriberEvent.onRealtimeTranscriberStarted]: { roomId: string | number; transcriberRobotId: string; sourceLanguage: string; }; [RealtimeTranscriberEvent.onRealtimeTranscriberStopped]: { roomId: string | number; transcriberRobotId: string; }; [RealtimeTranscriberEvent.onRealtimeTranscriberError]: { roomId: string | number; transcriberRobotId: string; error: number; errorMessage: string; }; } export declare type RealtimeTranscriberEventCallback = (eventInfo: RealtimeTranscriberEventInfoMap[T]) => void; export default class AIAssistant { static instance: AIAssistant; private _callService; private eventListeners; constructor(options: { callService: any; }); static getInstance(options: { callService: any; }): AIAssistant; /** * Get AI Transcriber Manager instance * @returns AITranscriberManager instance or null if not available */ private getTranscriberManager; private triggerEvent; startRealtimeTranscriber: (config: { sourceLanguage: TranscriberLanguage; translationLanguages?: TranscriberLanguage[]; }) => Promise; stopRealtimeTranscriber: () => Promise; updateRealTimeTranscriber: (config: { sourceLanguage: TranscriberLanguage; translationLanguages?: TranscriberLanguage[]; }) => Promise; subscribeEvent: (event: RealtimeTranscriberEvent, callback: RealtimeTranscriberEventCallback) => void; unsubscribeEvent: (event: RealtimeTranscriberEvent, callback: RealtimeTranscriberEventCallback) => void; private onReceiveTranscriberMessage; private onRealtimeTranscriberStarted; private onRealtimeTranscriberStopped; private onRealtimeTranscriberError; bindEvent: () => void; unbindEvent: () => void; reset: () => void; }