import { DeviceManager } from '../device-manager'; import { EventBus } from '../events/EventBus'; import { HMSUpdateListener } from '../interfaces'; import { IStore } from '../sdk/store'; export declare class AudioSinkManager { private store; private deviceManager; private eventBus; private audioSink?; private autoPausedTracks; private readonly TAG; private volume; private state; private listener?; constructor(store: IStore, deviceManager: DeviceManager, eventBus: EventBus); setListener(listener?: HMSUpdateListener): void; private get outputDevice(); getVolume(): number; setVolume(value: number): Promise; /** * This function is to be called only on user interaction when * autoplay error is received. */ unblockAutoplay(): Promise; init(elementId?: string): void; cleanup(): void; private handleAudioPaused; private handleTrackUpdate; private handleTrackAdd; private handleAutoplayError; private handleAudioDeviceChange; /** * try to play audio for the passed in track, assume autoplay error happened if play fails * @param track * @private */ private playAudioFor; private handleTrackRemove; private unpauseAudioTracks; private removeAudioElement; /** * Mweb is not able to play via call channel by default, this is to switch from media channel to call channel */ private autoSelectAudioOutput; }