export type Base64 = ArrayBuffer | string;
/**
 * @enum
 */
export declare enum ImageType {
    original = "original",
    augmented = "augmented"
}
export declare enum CameraFaceMode {
    front = "front",
    back = "back"
}
export declare enum FacingMode {
    face = "user",
    environment = "environment"
}
/**
 * @enum
 */
export declare enum FaceStatuses {
    VALID_FACE = "VALID_FACE",
    INVALID_FACE = "INVALID_FACE",
    ENROLLING = "ENROLLING",
    PREDICTING = "PREDICTING",
    WASM_RESPONSE = "WASM_RESPONSE",
    ERROR_ENROLL = "ERROR_ENROLL",
    ERROR_PREDICT = "ERROR_PREDICT",
    REDIRECT = "REDIRECT"
}
export declare enum VoiceStatuses {
    SET_PHRASES = "SET_PHRASES",
    SET_PROGRESS = "SET_PROGRESS",
    START_RECORDING = "START_RECORDING",
    RECORDING_DONE = "RECORDING_DONE",
    PREDICTION_DONE = "PREDICTION_DONE"
}
export declare enum DocType {
    PHOTO_ID_BACK = "PHOTO_ID_BACK",
    PHOTO_ID_FRONT = "PHOTO_ID_FRONT"
}
export declare enum LOGTYPE {
    ERROR = "ERROR",
    LOG = "LOG",
    WARN = "WARN"
}
export declare enum DLType {
    FRONTDLORIGINAL = "frontDLoriginal",
    FRONTDLHEADSHOT = "frontDLheadshot",
    FRONTDLCROPPED = "frontDLcropped",
    BACKDLORIGINAL = "backDLoriginal",
    BACKDLBARCODE = "backDLbarcode",
    BARCODEJSON = "barcodeJson"
}
export declare enum HCType {
    FRONTHCORIGINAL = "frontHCoriginal",
    FRONTHCCROPPED = "frontHCcropped",
    FRONTHCDATA = "frontHCdata"
}
/**
 * NPM: uploadDl({ id, type, image })
    id (string): GAN token //Required
    type: “frontDLoriginal”, “frontDLheadshot”, “frontDLcropped”, “backDLoriginal”, “backDLbarcode”
    image: string // Base64 //Require
 */
export declare enum VerifyType {
    PHONE = "phone",
    EMAIL = "email"
}
declare global {
    interface Window {
        opera: any;
        mozIndexedDB: any;
        webkitIndexedDB: any;
        msIndexedDB: any;
        shimIndexedDB: any;
    }
}
export type WorkerFunctions = {
    isLoad: (simd: boolean, url: any, session_token: string, public_key: string, debug_type: string, cacheConfig: boolean, timeout: number | null, useCdn: boolean, shouldRegenerateSession?: boolean, wasmFailureCallback?: any, usageScenario?: string) => Promise<string>;
    ultraPredict: (originalImages: Array<ImageData>, simd: boolean, config: string, cb: any) => Promise<{
        result: number;
        href: ImageData[];
    }>;
    ultraAgeEstimate: (imageData: Array<ImageData>, simd: boolean, config: string, cb: any) => Promise<{
        result: number;
        imageData: Uint8ClampedArray | null;
        height: number | null;
        width: number | null;
    }>;
    ultraEnroll: (imageData: ImageData, simd: boolean, config: string, cb: any) => Promise<{
        result: number;
        imageData: Uint8ClampedArray | null;
        height: number | null;
        width: number | null;
    }>;
    compareEmbeddings: () => Promise<{
        result: number;
        imageData: Uint8ClampedArray | null;
        height: number | null;
        width: number | null;
    }>;
    pkiEncrypt: (payload: string) => Promise<{
        encryptedKey: string;
        iv: string;
        gcmAad: string;
        gcmTag: string;
        encrptedMessage: string;
    }>;
    checkIfModelsLoaded: (isEnroll: boolean) => Promise<number>;
    freeMemory: () => Promise<boolean>;
    ultraScanFrontDocument: (inputImage: ImageData, simd: boolean, config: string, cb: any) => Promise<{
        [x: string]: any;
    }>;
    ultraScanBackDocument: (inputImage: ImageData, simd: boolean, config: string, cb: any) => Promise<{
        [x: string]: any;
    }>;
    ultraCompareEmbeddings: (encryptedEmbeddingsA: string, encryptedEmbeddingsB: string, config: any, cb: any) => Promise<{
        result: number;
        imageData: Uint8ClampedArray | null;
        height: number | null;
        width: number | null;
    }>;
    ultraDocumentOcr: (inputImage: string, config: string, cb: any) => Promise<{
        [x: string]: any;
    }>;
};
export interface verificationSessionPayload {
    successUrl?: string;
    failureUrl?: string;
    type?: string;
    productGroupId?: string;
}
export type ScreenOrientation = 'landscape' | 'portrait';
