import { Device } from ".."; import { Base } from "../base/Base"; import { TaskResponse } from "../model/TaskResponse"; import { TrackKind } from "../model/Track"; export declare enum GetDevicesType { AudioIn = "audioinput", VideoIn = "videoinput", AudioOut = "audiooutput" } export declare class UserMediaHandler extends Base { private isVideoAudioFetchInProgress; private isScreenShareFetchInProgress; private cameraFacingMode?; private videoPauseResumePromiseResolver?; private muteUmutePromiseResolver?; private tracks; private userMediaPayload?; switchCamera(): Promise; startScreenShare(isAudioRequired?: boolean, shouldAddTrackImmediately?: boolean, screensharePayload?: any): Promise; startLocalStream(isVideoRequired: boolean, isAudioRequired: boolean, shouldAddTrackImmediately: boolean, userMediaPayload?: any): Promise; private getVideoDictionay; private getAudioDictionay; private startCapturingStream; private onStreamError; private onStreamGot; private onScreenShareStreamGot; private onTrack; getDevice(type: GetDevicesType): Promise; registerForDeviceChange: () => Promise; stopScreenSharing(): Promise; pauseCamera(userId?: string): Promise; muteUser(userId?: string): Promise; resumeCamera(userId?: string): Promise; unmute(userId?: string): Promise; pauseStreamWithoutStopping(streamKind: TrackKind): TaskResponse; resumeStreamWithoutAdding(streamKind: TrackKind): TaskResponse; cleanup(): Promise; }