import DeviceChangeObserver from '../devicechangeobserver/DeviceChangeObserver'; import EventController from '../eventcontroller/EventController'; import DeviceControllerBasedMediaStreamBroker from '../mediastreambroker/DeviceControllerBasedMediaStreamBroker'; import NoOpMediaStreamBroker from '../mediastreambroker/NoOpMediaStreamBroker'; import AudioInputDevice from './AudioInputDevice'; import RemovableAnalyserNode from './RemovableAnalyserNode'; import VideoInputDevice from './VideoInputDevice'; import VideoQualitySettings from './VideoQualitySettings'; export default class NoOpDeviceController extends NoOpMediaStreamBroker implements DeviceControllerBasedMediaStreamBroker { destroyed: boolean; constructor(_options?: { enableWebAudio?: boolean; }); destroy(): Promise; listAudioInputDevices(): Promise; listVideoInputDevices(): Promise; listAudioOutputDevices(): Promise; startAudioInput(_device: AudioInputDevice): Promise; stopAudioInput(): Promise; startVideoInput(_device: VideoInputDevice): Promise; stopVideoInput(): Promise; chooseAudioOutput(_deviceId: string | null): Promise; addDeviceChangeObserver(_observer: DeviceChangeObserver): void; removeDeviceChangeObserver(_observer: DeviceChangeObserver): void; createAnalyserNodeForAudioInput(): RemovableAnalyserNode | null; startVideoPreviewForVideoInput(_element: HTMLVideoElement): void; stopVideoPreviewForVideoInput(_element: HTMLVideoElement): void; setDeviceLabelTrigger(_trigger: () => Promise): void; mixIntoAudioInput(_stream: MediaStream): MediaStreamAudioSourceNode; chooseVideoInputQuality(_width: number, _height: number, _frameRate: number): void; getVideoInputQualitySettings(): VideoQualitySettings | null; } export declare class NoOpDeviceControllerWithEventController extends NoOpDeviceController { eventController: EventController | undefined; constructor(eventController?: EventController); }