import { VOICE_AGENT_STATE, type VoiceAgentConfig, type VoiceSessionCredentials } from "./types"; import type { ResourceManager } from "../resources"; export declare class VoiceAgent { private config; private resourceManager; private getCredentials; private emitter; private remoteAnalyser; private localAnalyser; private pc; private pcId; private dataChannel; private localStream; private remoteAudio; private _state; private _isMuted; private manuallyDisconnected; private _hasConnectionFailureNotified; private _userSpeaking; private _silenceTimer; private _cachedIceServers; private _iceServersCachedAt; constructor(config: VoiceAgentConfig, resourceManager: ResourceManager, getCredentials: () => Promise); get state(): VOICE_AGENT_STATE; get isMuted(): boolean; on(event: string, listener: (...args: unknown[]) => void): void; off(event: string, listener: (...args: unknown[]) => void): void; connect(): Promise; disconnect(): void; toggleMute(): void; reset(): void; destroy(): void; private fetchIceServers; private setState; private clearSilenceTimer; private handleConnectionFailure; private releaseResources; private startLocalAudioAnalysis; private handleRemoteTrack; }