export interface AudioOutputState { deviceId: string; } type AudioOutputChangeCallback = (state: AudioOutputState) => void; export declare class AudioOutputController { private state; private callbacks; private availableDevices; private registeredElements; registerAudioElement: (element: HTMLAudioElement | HTMLVideoElement) => VoidFunction; setAvailableDevices(devices: MediaDeviceInfo[]): void; setOutputDevice: (deviceId: string) => Promise; private applyToRegisteredElements; private findSpeakerphone; autoSelectSpeakerphone(): Promise; getOutputState(): AudioOutputState; isOutputSelectionSupported(): boolean; onChange: (callback: AudioOutputChangeCallback) => VoidFunction; private _notifyState; playTestSound(options?: { url?: string; duration?: number; }): Promise; private playTestSoundFromUrl; private playGeneratedTone; destroy(): void; } export {};