import IParamsConfig from "../../interfaces/ParamsConfig"; import { BackendService } from "../backend/BackendService"; import { ProctoringSession } from "../proctoring/ProctoringSession"; import { CameraRecorder } from "./CameraRecorder"; import { UploadService } from "../upload/UploadService"; import { ProctoringSessionOptions } from "../../proctoring/options/ProctoringOptions"; import { IRecorder } from "./IRecorder"; export declare class NoiseRecorder implements IRecorder { private onRealtimeAlertsCallback; private optionsProctoring; private proctoringSession; private cameraRecorder; private audioRecorder; private intervalNoiseDetection; private volumeMeter; private recordingInProgress; private paramsConfig; private recordIndex; private countLoopTimes; private examStartTime; private recordingStartTime; private recordingEndTime; private isSpeech; private audioClassifier; private audioClassificationResult; private context; private audioWorkletNode; upload: UploadService | undefined; backend: BackendService | undefined; backendToken: string | undefined; proctoringId: string | undefined; private preRollBuffer; private recordingChunks; private readonly PRE_ROLL_SECONDS; private readonly SAMPLE_RATE; private readonly MAX_PRE_ROLL_CHUNKS; private lastNoiseTime; private readonly SILENCE_THRESHOLD; constructor(optionsProctoring: ProctoringSessionOptions, proctoringSession: ProctoringSession, paramsConfig: IParamsConfig, cameraRecorder: CameraRecorder, onRealtimeAlertsCallback: (response: any) => void, backend?: BackendService, backendToken?: string); setProctoringId(proctoringId: string): void; startRecording(): Promise; stopRecording(): Promise; pauseRecording(): Promise; resumeRecording(): Promise; saveOnSession(session: ProctoringSession): Promise; private onNoiseDetectedRecord; private stopSoundRecord; private download; private uploadRecord; private hasDesiredResult; private createAudioClassifier; private streamingAudioClassification; }