import { ILocalAudioTrack, ILocalVideoTrack } from 'agora-rtc-sdk-ng'; import { AgoraRtcDeviceInfo, AgoraRtcScreenCaptureParams, AgoraRtcCameraPosition, AgoraRtcAudioRawDataConfig, AgoraRtcAiDenoiseLevel, AgoraRtcCameraCaptureParams } from '../../../core/rtc/type'; import { AgoraDeviceManagerObserver, AgoraRtcLocalTrackEventsObserver, AgoraWebRtcExtensionDelegate } from './type'; import { AgoraRteBeautyOptions, AgoraRteVirtualBackgroundOptions } from '../../../core/media/type'; import { AgoraRtcVideoCanvas } from '../../../core/rtc'; import { AgoraObservable } from 'agora-foundation/lib/utilities/observable'; import { AgoraRtcDualVideoStreamConfig } from '../electron/type'; export declare class AgoraRtcDeviceManager { private _extensionDelegate; private _dualCameraVideoStreamConfig; private _dualScreenVideoStreamConfig; constructor(_extensionDelegate: AgoraWebRtcExtensionDelegate, _dualCameraVideoStreamConfig: AgoraRtcDualVideoStreamConfig, _dualScreenVideoStreamConfig: AgoraRtcDualVideoStreamConfig); get keepRecording(): boolean; setKeepAudioRecording(keepRecording: boolean): void; getCameraVideoTracksMap(): Map; getScreenVideoTracksMap(): Map; getMicrophoneAudioTracksMap(): Map; getScreenAudioTracksMap(): Map; getVideoDeviceStateMap(): Map; getAudioDeviceStateMap(): Map; get speakerId(): string | undefined; get outputVolume(): number | undefined; get deviceManagerObservable(): AgoraObservable; get localTrackObservable(): AgoraObservable; release(): void; setBeautyOptions(deviceId: string, options: AgoraRteBeautyOptions): number; enableBeauty(deviceId: string): number; disableBeauty(deviceId: string): number; setVirtualBackgroundOptions(deviceId: string, options: AgoraRteVirtualBackgroundOptions): number; enableVirtualBackground(deviceId: string): number; disableVirtualBackground(deviceId: string): number; enableAiDenoiser(deviceId: string): number; disableAiDenoiser(deviceId: string): number; setAiDenoiseLevel(deviceId: string, level: AgoraRtcAiDenoiseLevel): number; getCameraList(): Promise; getMicrophoneList(): Promise; getSpeakerList(): Promise; getSystemSelectedMicrophone(): Promise; getSystemSelectedSpeaker(): Promise; startCamera(deviceId: string): void; stopCamera(deviceId: string): void; startCameraTest(deviceId: string): void; stopCameraTest(deviceId: string): void; setCameraCaptureParams(deviceId: string, config: AgoraRtcCameraCaptureParams): void; switchCamera(): void; getCameraPosition(): AgoraRtcCameraPosition; setMicrophoneVolumeInterval(deviceId: string, interval: number): void; startMicrophone(deviceId: string): void; stopMicrophone(deviceId: string): void; startMicrophoneTest(deviceId: string): void; stopMicrophoneTest(deviceId: string): void; startScreenCapture(sourceId: string, params: AgoraRtcScreenCaptureParams): void; stopScreenCapture(): void; startRenderCameraVideo(deviceId: string, canvas: AgoraRtcVideoCanvas): void; stopRenderCameraVideo(deviceId: string, canvas: AgoraRtcVideoCanvas): void; startRenderScreenVideo(sourceId: string, canvas: AgoraRtcVideoCanvas): void; stopRenderScreenVideo(sourceId: string, canvas: AgoraRtcVideoCanvas): void; takeScreenSnapshot(deviceId: string): ImageData; takeCameraSnapshot(deviceId: string): ImageData; enableVolumeIndicator(deviceId: string): void; disableVolumeIndicator(deviceId: string): void; setAudioInputRawDataConfig(deviceId: string, config: AgoraRtcAudioRawDataConfig): void; enableAudioInputRawDataObserver(deviceId: string): void; disableAudioInputRawDataObserver(deviceId: string): void; adjustMicrophoneVolume(deviceId: string, volume: number): void; adjustLoopbackVolume(sourceId: string, volume: number): void; adjustOutputVolume(volume: number): void; selectSpeaker(speakerId: string): void; addObserver(observer: AgoraDeviceManagerObserver): void; removeObserver(observer: AgoraDeviceManagerObserver): void; private _getCameraControl; private _getMicrophoneControl; private _getScreenControl; private _handleCameraChanged; private _handleMicChanged; private _handleSpeakerChanged; }