import EnhancedEventEmitter from '../../EnhancedEventEmitter'; import Logger from '../Logger'; declare class System { #private; private readonly clientEventEmitter; isEnableVideoDevicesLock: boolean; isEnableAudioDevicesLock: boolean; isDevicesDetected: boolean; availableVideoDevices: MediaDeviceInfo[]; availableAudioDevices: MediaDeviceInfo[]; constructor(clientEventEmitter: EnhancedEventEmitter, loggerFactory: (namespace: string) => Logger); setIsEnableVideoDevicesLock(value: boolean): void; setIsEnableAudioDevicesLock(value: boolean): void; setAvailableVideoDevices(availableVideoDevices: MediaDeviceInfo[]): void; setAvailableAudioDevices(availableAudioDevices: MediaDeviceInfo[]): void; requestMediaDevicesAccess(constraints?: MediaStreamConstraints): Promise; hasAvailableMediaDevicesList(): Promise; refreshAvailableMediaDevicesList(): Promise; detectDevices(force?: boolean): Promise; deviceChangeHandler(): Promise; listenDevices(): void; private assertHasAccessToMediaDevices; private tryToAccessDevices; } export default System;