import { RecordRTCPromisesHandler } from "recordrtc"; import { ProctoringSession } from "../proctoring/ProctoringSession"; import { IRecorder } from "./IRecorder"; export declare class ScreenRecorder implements IRecorder { private blobs; private blobsFinal; private options; recorder: RecordRTCPromisesHandler | undefined; screenStream: MediaStream | undefined; proctoringId: string | undefined; startTime: Date | undefined; constructor(options: { allowOnlyFirstMonitor: boolean; allowMultipleMonitors: boolean; screenRecorderOptions: { width: number; height: number; }; onStopSharingScreenCallback: () => void; onBufferSizeError?: boolean; onBufferSizeErrorCallback: () => void; }); file?: File; recordingStart: () => any; recordingStop: () => any; recordingPause: () => any; recordingResume: () => any; setProctoringId(proctoringId: string): void; startRecording(): Promise; pauseRecording(): Promise; resumeRecording(): Promise; stopRecording(): Promise; saveOnSession(session: ProctoringSession): Promise; }