import { ProctoringSessionOptions } from "../../proctoring/options/ProctoringOptions"; import { ProctoringVideoOptions } from "../../proctoring/options/ProctoringVideoOptions"; import { ProctoringContext } from "../../proctoring/proctoring"; export interface checkDevicesReturn { cameraId?: string; microphoneId?: string; volumeRange?: number; allowedResolution?: boolean; allowedAmbient?: boolean; allowedPositionFace?: boolean; allowedMicrophone?: boolean; allowedSpyScan?: boolean | null; result: boolean; faceDetectionAlerts?: { status: string; description: string; }; } export declare class DeviceCheckerService { private deviceCheckResult; private static isModalOpen; private options; private videoOptions; private cameraRecorder; private DeviceCheckerUI; private volumeMeter; private volumeMedia; private volumeSum; private volumeCounter; private faceDetection; private faceDetectionAlerts; private microphoneMinThreshold; private allowedResolution; private allowedAmbient; private allowedPositionFace; private allowedMicrophone; private allowedSpyScan; private readonly backend; private readonly context; private noiseLimit; private onUpdateCb; private spycam; private spydevices; constructor(context: ProctoringContext); getDeviceCheckResult(): any; runCheckDevicesFlow(options: ProctoringSessionOptions, _videoOptions: Partial, onModalConfirm: (resolve: (cameraId: string, microphoneId: string) => void) => void, onModalCancel: (reject: (error: Error) => void) => void, onUpdate: (feedback: any) => void): Promise; private onUpdateCallback; checkDevices(options?: ProctoringSessionOptions, _videoOptions?: ProctoringVideoOptions): Promise; private isUnderResolution; private realtimeAlerts; private videoDeviceInterface; private audioDeviceInterface; changeSelectedDevice({ cameraId, microphoneId }: any): Promise<{ cameraStream: MediaStream; }>; startCheckDevices(options: ProctoringSessionOptions | undefined, _videoOptions: Partial): Promise<{ cameraStream: MediaStream; }>; closeCheckDevices(): Promise; private checkSpyScan; }