import "webrtc-adapter"; import { CameraOrientation } from "../call/options/CameraOrientation"; import { Device } from "./Device"; import { Logger } from "../log/Logger"; import { DisplayOptions } from "../call/options/DisplayOptions"; declare global { interface MediaDevices { getDisplayMedia(constraints?: MediaStreamConstraints): Promise; } interface MediaTrackConstraintSet { cursor?: "always" | "motion" | "never"; displaySurface?: "browser" | "monitor" | "window"; logicalSurface?: ConstrainBoolean; } } export declare class DefaultDevice implements Device { private logger; private deviceKindNames; private audioInputDevice; private videoInputDevice; private cameraOrientation; private static CAMERA_VIDEO_FPS_DEFAULT; private static SCREEN_SHARE_FPS_DEFAULT; constructor(logger: Logger); getAudioInputDevices(): Promise; getAudioOutputDevices(): Promise; getVideoInputDevices(): Promise; setAudioInputDevice(id: string): void; unsetAudioInputDevice(): void; getAudioInputDevice(): string; audioInputDeviceShouldChange(): Promise; setVideoInputDevice(id: string): void; unsetVideoInputDevice(): void; getVideoInputDevice(): string; getCameraOrientation(): CameraOrientation; getLocalStream(audio?: boolean, video?: boolean, cameraOrientation?: CameraOrientation, hdResolution?: boolean, useExactDevice?: boolean, cameraVideoFrameRate?: number): Promise; getDisplayMedia(displayOptions?: DisplayOptions, screenShareFrameRate?: number): Promise; protected getMicrophoneDefaults: () => MediaTrackConstraintSet; protected getCameraDefaults: (hdResolution?: boolean, cameraVideoFrameRate?: number) => MediaTrackConstraintSet; protected getScreenShareDefaults: (screenShareFrameRate?: number) => MediaTrackConstraintSet; private getAudioConstraints; private getVideoConstraints; private getDeviceConstraint; private getDevices; private filterDevices; private getUserMediaDevices; private enumerateDevices; private stopTracks; private updateDevices; private generateCustomMediaDeviceInfo; }