import { TRecordingState } from "./kwikid-camera-record.definitions";
import * as i0 from "@angular/core";
export declare class KwikIDCameraRecordService {
    private mediaStream;
    private recorder;
    private blob;
    private _mediaStream;
    private _blob;
    private state;
    private _state;
    private isFrontCamera;
    private videoDeviceId;
    private timerInterval;
    private startTime;
    private pauseTime;
    private resumeTime;
    private totalPausedTime;
    private totalRecordingTime;
    private minRecordingTimeInSeconds;
    private maxRecordingTimeInSeconds;
    private _timerUpdate;
    getMediaStream(): import("rxjs").Observable<any>;
    getBlob(): import("rxjs").Observable<any>;
    getTimerUpdate(): import("rxjs").Observable<number>;
    getRecordingState(): import("rxjs").Observable<TRecordingState>;
    setRecordingState(state: TRecordingState): void;
    private resetTimer;
    private updateTimer;
    handleRecording(): Promise<void>;
    startRecording({ minRecordingTimeInSeconds, maxRecordingTimeInSeconds, isFrontCamera, videoDeviceId }: {
        minRecordingTimeInSeconds?: any;
        maxRecordingTimeInSeconds?: any;
        isFrontCamera?: boolean;
        videoDeviceId?: any;
    }): void;
    pauseRecording(): void;
    resumeRecording(): void;
    stopRecording(): void;
    downloadRecording(): void;
    clearRecording(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDCameraRecordService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<KwikIDCameraRecordService>;
}
