import { AgoraObservable } from 'agora-foundation/lib/utilities/observable'; import { ILocalVideoTrack, ILocalAudioTrack } from 'agora-rtc-sdk-ng'; import { AgoraRtcVideoCanvas } from '../../../../core/rtc'; import { AgoraRtcScreenCaptureParams } from '../../../../core/rtc/type'; import { AgoraRtcVideoEffectContext, AgoraRtcAudioEffectContext } from '../struct'; import { AgoraRtcLocalTrackEventsObserver } from '../type'; import { AgoraRteScreenCaptureParams } from '../../../../core/media/type'; export declare class AgoraRtcScreenControl { private _sourceId; private _localTrackObservable; private _captureParamsPreset?; private static readonly _DEFAULT_TRACK_KEY_; protected logger: import("agora-foundation/lib/logger").Logger; private _videoTracks; private _audioTracks; private _videoCanvases; private _videoDeviceContxt; private _audioDeviceContxt; private _volume?; constructor(_sourceId: string, _localTrackObservable: AgoraObservable, _captureParamsPreset?: AgoraRteScreenCaptureParams | undefined); get videoTrack(): ILocalVideoTrack | undefined; get audioTrack(): ILocalAudioTrack | undefined; get sourceId(): string; get videoDeviceContext(): AgoraRtcVideoEffectContext; get audioDeviceContext(): AgoraRtcAudioEffectContext; release(): number; setVolume(volume: number): void; start(params: AgoraRtcScreenCaptureParams): void; stop(): void; takeSnapshot(): ImageData; addVideoCanvas(canvas: AgoraRtcVideoCanvas): void; removeVideoCanvas(canvas: AgoraRtcVideoCanvas): void; private _getRenderMode; }