import AudioMixObserver from '../audiomixobserver/AudioMixObserver'; import Logger from '../logger/Logger'; import MediaStreamBrokerObserver from '../mediastreambrokerobserver/MediaStreamBrokerObserver'; import AudioMixController from './AudioMixController'; export default class DefaultAudioMixController implements AudioMixController, MediaStreamBrokerObserver { private logger?; private audioDevice; private audioElement; private audioStream; private browserBehavior; private observers; constructor(logger?: Logger); bindAudioElement(element: HTMLAudioElement): Promise; unbindAudioElement(): void; bindAudioStream(stream: MediaStream): Promise; bindAudioDevice(device: MediaDeviceInfo | null): Promise; private forEachObserver; private bindAudioMix; getCurrentMeetingAudioStream(): Promise; addAudioMixObserver(observer: AudioMixObserver): Promise; removeAudioMixObserver(observer: AudioMixObserver): Promise; audioOutputDidChange(device: MediaDeviceInfo | null): Promise; }