import TypedEmitter from "typed-emitter"; import { SessionEventCallbacks, AgentEventCallbacks } from "./events"; import { SessionState, SessionConfig, SessionInfo, SessionMode, AgentType } from "./types"; import { ConnectionQuality } from "../QualityIndicator"; import { VoiceChat } from "../VoiceChat"; export declare function parseAgentTypeFromToken(token: string): AgentType; declare const LiveAvatarSession_base: new () => TypedEmitter; export declare class LiveAvatarSession extends LiveAvatarSession_base { private readonly sessionClient; private readonly config; private readonly room; private readonly _voiceChat; private readonly connectionQualityIndicator; protected _sessionInfo: SessionInfo | null; protected _sessionEventSocket: WebSocket | null; private _state; private _remoteAudioTrack; private _remoteVideoTrack; private readonly _mode; private readonly _agentType; constructor(sessionAccessToken: string, config?: SessionConfig); get state(): SessionState; get mode(): SessionMode; get agentType(): AgentType; get sessionId(): string | null; get connectionQuality(): ConnectionQuality; get voiceChat(): VoiceChat; get maxSessionDuration(): number | null; start(): Promise; stop(): Promise; keepAlive(): Promise; attach(element: HTMLMediaElement): void; message(message: string): string; repeat(message: string): string; repeatAudio(audio: string): string; startListening(): string; stopListening(): string; interrupt(): void; private trackEvents; private waitForRequiredParticipants; private connectWebSocket; private setupWebSocketManagement; private handleWebSocketMessage; private handleWebSocketDisconnect; private configureSession; private set state(value); private cleanup; private postStop; private handleRoomDisconnect; private sendCommandEvent; protected publishAgentControl(payload: object): void; protected generateEventId(): string; private sendCommandEventToWebSocket; protected assertConnected(): boolean; } export {};