import { AgoraObservable } from 'agora-foundation/lib/utilities/observable'; import { ILocalVideoTrack } from 'agora-rtc-sdk-ng'; import { AgoraRteBeautyOptions, AgoraRteCameraCaptureParams, AgoraRteVirtualBackgroundOptions } from '../../../../core/media/type'; import { AgoraRtcVideoCanvas } from '../../../../core/rtc'; import { AgoraRtcCameraPosition } from '../../../../core/rtc/type'; import { AgoraEffectState, AgoraRtcLocalTrackEventsObserver, AgoraWebRtcExtensionDelegate } from '../type'; export declare class AgoraRtcCameraControl { private _deviceId; private _localTrackObservable; private _extensionDelegate; private _effectState; private _captureParamsPreset?; private static readonly _DEFAULT_TRACK_KEY_; protected logger: import("agora-foundation/lib/logger").Logger; private _isCameraStarted; private _isDeviceStarting; private _isDeviceTesting; private _cameraPosition; private _cameraTracks; private _videoCanvases; private _videoContexts; private _captureParams?; private _isProcessing; private _currentFacingMode?; private _canvasToReplay; private _shouldRecreateCloneTracks; constructor(_deviceId: string, _localTrackObservable: AgoraObservable, _extensionDelegate: AgoraWebRtcExtensionDelegate, _effectState: AgoraEffectState, _captureParamsPreset?: AgoraRteCameraCaptureParams | undefined); release(): number; get videoTrack(): ILocalVideoTrack | undefined; get deviceId(): string; get isStarted(): boolean; start(): void; stop(): void; startTest(): void; stopTest(): void; setCameraPosition(position: AgoraRtcCameraPosition): void; addVideoCanvas(canvas: AgoraRtcVideoCanvas): void; removeVideoCanvas(canvas: AgoraRtcVideoCanvas): void; takeSnapshot(): ImageData; setBeautyOptions(options: AgoraRteBeautyOptions): number; enableBeauty(): number; disableBeauty(): number; setVirtualBackgroundOptions(options: AgoraRteVirtualBackgroundOptions): number; enableVirtualBackground(): number; disableVirtualBackground(): number; setCameraCaptureParams(params: AgoraRteCameraCaptureParams): number; private _getFacingMode; private _getRenderMode; private _getEncoderConfig; private _isStateStale; private _syncState; private _deleteContext; }