import { EventEmitter, OnInit, ChangeDetectorRef } from "@angular/core";
import { Permission, InstructionStep, PermissionInstructionsData, PermissionCheckerConfig } from "./permission-checker.definitions";
import { DeviceType, OverallStatus } from "./permission-checker.constants";
import * as i0 from "@angular/core";
export declare class KwikIDPermissionCheckerComponent implements OnInit {
    private cdr;
    config: PermissionCheckerConfig;
    readonly onClickScheduleLater: EventEmitter<any>;
    readonly allPermissionsGranted: EventEmitter<void>;
    readonly permissionError: EventEmitter<{
        permissionId: string;
        errorMsg: string;
        error?: any;
    }>;
    readonly permissionStatusChange: EventEmitter<Permission[]>;
    readonly cameraTestComplete: EventEmitter<{
        frontCamera: boolean;
        backCamera: boolean;
    }>;
    currentPermissionIndex: number;
    overallStatus: OverallStatus;
    errorMessage: string | null;
    visiblePermissions: Permission[];
    headerConfig: any;
    footerConfig: any;
    scheduleLaterConfig: any;
    currentDeviceType: DeviceType;
    permissionInstructions: PermissionInstructionsData;
    isFrontCamera: boolean;
    isBackCamera: boolean;
    isFrontCameraGranted: boolean;
    isBackCameraGranted: boolean;
    private hydratedPermissions;
    constructor(cdr: ChangeDetectorRef);
    ngOnInit(): void;
    private getActivePermissions;
    private setDeviceSpecificInstructions;
    get deviceType(): string;
    private checkExistingPermissions;
    handleOnClickScheduleLater(): void;
    resetPermissionsState(): void;
    private getPermissionById;
    toggleInstructions(permissionId: string): void;
    getInstructionsForPermission(permissionId: string): InstructionStep[];
    private updatePermissionStatus;
    refreshPage(): void;
    startPermissionFlow(): void;
    private updateVisiblePermissions;
    private requestNextPermission;
    private handlePermissionDenied;
    private checkAllPermissionsGranted;
    static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDPermissionCheckerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDPermissionCheckerComponent, "kwikid-components-permission-checker", never, { "config": "config"; }, { "onClickScheduleLater": "onClickScheduleLater"; "allPermissionsGranted": "allPermissionsGranted"; "permissionError": "permissionError"; "permissionStatusChange": "permissionStatusChange"; "cameraTestComplete": "cameraTestComplete"; }, never, never>;
}
