import { AgoraRtcCameraCaptureParams, AgoraRtcCameraPosition, AgoraRtcDeviceInfo, AgoraRtcDisplayInfo, AgoraRtcMediaSourceState, AgoraRtcScreenCaptureParams, AgoraRtcScreenCaptureType, AgoraRtcSourceManagerObserver, AgoraRtcVideoOrientation, AgoraRtcWindowInfo } from '../../../core/rtc/type'; import { AgoraRtcSourceManager } from '../../../core/rtc/source-manager'; import { AgoraRteClientRecordingManager } from '../../../core/media/type'; import { AgoraRtcDeviceManager } from './device'; export declare class AgoraRtcSourceManagerImpl implements AgoraRtcSourceManager { private _cameraCaptureParamsMapping; private _screenCaptureParamsMapping; constructor({ deviceManager, cameraCaptureParams, screenCaptureParams, }: { deviceManager: AgoraRtcDeviceManager; cameraCaptureParams: AgoraRtcCameraCaptureParams; screenCaptureParams: AgoraRtcScreenCaptureParams; }); release(): void; getCameraSourceIndex(deviceId: string): number; getCameraList(): Promise; getMicrophoneList(): Promise; getWindowList(): Promise; getDisplayList(): Promise; getSystemSelectedMicrophone(): Promise; getCameraPosition(): AgoraRtcCameraPosition; getCameraState(deviceId: string): AgoraRtcMediaSourceState; getMicrophoneState(deviceId: string): AgoraRtcMediaSourceState; getScreenCaptureState(sourceId: string, type?: AgoraRtcScreenCaptureType): AgoraRtcMediaSourceState; get keepRecording(): boolean; setCameraCaptureParams(deviceId: string, params: AgoraRtcCameraCaptureParams): number; openCamera(deviceId: string): number; closeCamera(deviceId: string): number; switchCamera(): number; startCameraTest(deviceId: string): number; stopCameraTest(deviceId: string): number; openMicrophone(deviceId: string): number; closeMicrophone(deviceId: string): number; startMicrophoneTest(deviceId: string, interval: number): number; stopMicrophoneTest(deviceId: string): number; startScreenCaptureByDisplayIdWithParams(displayId: string, params: AgoraRtcScreenCaptureParams, excludeWindowList: string[]): number; startScreenCaptureByDisplayId(displayId: string, excludeWindowList: string[]): number; startScreenCaptureByWindowIdWithParams(windowId: string, params: AgoraRtcScreenCaptureParams): number; startScreenCaptureByWindowId(windowId: string, _?: boolean): number; startScreenCapture(sourceId: string, params: AgoraRtcScreenCaptureParams): number; stopScreenCapture(sourceId: string, type: AgoraRtcScreenCaptureType, _forceCleanState?: boolean): number; waitForScreenCaptureStopped(): Promise; protectSourceId(_sourceId: string): void; unprotectSourceId(_sourceId: string): void; updateExcludeWindowsByDisplayId(displayId: string, excludeWindowList: string[]): number; startLoopbackRecording(deviceId: string): number; getLoopbackRecordingState(deviceId: string): AgoraRtcMediaSourceState; stopLoopbackRecording(deviceId: string): number; adjustLoopbackVolume(sourceId: string, volume: number): number; adjustMicrophoneVolume(deviceId: string, volume: number): number; startRecordingDeviceCapture(): number; stopRecordingDeviceCapture(): number; setCameraVideoOrientation(deviceId: string, orientation: AgoraRtcVideoOrientation): number; getLoopbackList(): AgoraRtcDeviceInfo[]; setLoopbackInstalled(installed: boolean): void; getMediaRecorderManager(): AgoraRteClientRecordingManager | undefined; addObserver(observer: AgoraRtcSourceManagerObserver): void; removeObserver(observer: AgoraRtcSourceManagerObserver): void; setKeepAudioRecording(keepRecording: boolean): void; observeSystemSelectedMicrophoneChanged(enable: boolean): number; private _getScreenCaptureParams; private _getScreenCaptureRTCParams; private _getCameraCaptureParams; private _getSystemSelectedMicrophone; private _checkRecordingDefaultDevice; private _createSystemSelectedMicrophonePolling; }