import { CameraOptions } from 'react-native-camera-hooks/src/initialState';
export interface CircleCameraPosition {
    x: number;
    y: number;
    r: number;
}
export interface SquareCameraPosition {
    x: number;
    y: number;
    width: number;
    height: number;
}
export interface FaceConfiguration {
    yawAngle: number;
    rollAngle: number;
    pitchAngle: number;
    smilingProbability: number;
    requireList: Array<String>;
}
export interface RequireItem {
    label: string;
    assetActive: any;
    asset: any;
    sound: string;
    action: string;
}
export interface FaceInfo {
    smile: boolean;
    yaw: string;
    pitch: string;
    roll: number;
}
export interface FaceScreenProps {
    initialCamera: CameraOptions;
    faceLivenessConfiguration?: FaceConfiguration;
    afterTakePictureAction(response: {
        images: Array<string>;
        errorMessage: string;
    }): void;
    warningFrame?: any;
    loadingComponent?: any;
    enableFaceDetect?: boolean;
    enableCheckSanity?: boolean;
    enableCheckTempering?: boolean;
}
export interface IdCardScreenProps {
    headerComponent?: any;
    warningFrameComponent?: any;
    autoCaptureComponent?: any;
    pickImageComponent?: any;
    loadingComponent?: any;
    enableAutoCapture?: boolean;
    enableCheckSanity?: boolean;
    enableCheckTempering?: boolean;
    actionAfterGetImage(response: {
        image: string;
        errorMessage: string;
    }): void;
}
export interface ActionIdCardFrameProps {
    capture: Function;
    pickImage: Function;
    toggleSwitch: Function;
    isEnableSwitch: boolean;
    autoCaptureComponent?: any;
    pickImageComponent?: any;
}
export interface Coordinate {
    x: number;
    y: number;
}
export interface DetectedRectangle {
    bottomLeft: Coordinate;
    bottomRight: Coordinate;
    topLeft: Coordinate;
    topRight: Coordinate;
    dimensions: {
        height: number;
        width: number;
    };
}
export interface TakePictureResponse {
    width: number;
    height: number;
    uri: string;
    base64?: string;
    exif?: {
        [name: string]: any;
    };
    pictureOrientation: number;
    deviceOrientation: number;
}
export interface ResultScreenProps {
    card: CardInfo;
    faceMatching: FaceMatching;
}
export interface FaceMatching {
    faceImage?: string;
    isMatching?: boolean;
    scoreMatching?: number;
}
export interface CardInfo {
    id?: string;
    type?: string;
    name?: string;
    birthday?: string;
    address?: string;
    expiry?: string;
    issue_date?: string;
    issue_by?: string;
    ethnicity?: string;
    religion?: string;
    sex?: string;
    nationality?: string;
    licence_class?: string;
    passport_id?: string;
    passport_type?: string;
    military_title?: string;
    type_blood?: string;
    birthplace?: string;
    frontImage?: string;
    backImage?: string;
}
export interface CarouselCardImageItem {
    type: string;
    imageUri: string;
}
export interface ViettelEkycProps {
    type: string;
    enableCheckSanity: boolean;
    enableCheckTempering: boolean;
    enableAddFace: boolean;
    showResultScreen: boolean;
    enableAutoCaptureCard: boolean;
    enableAutoCaptureFace: boolean;
    initialCamera?: CameraOptions;
    faceLivenessConfiguration?: FaceConfiguration;
    getResult(response: {
        cardInfo: CardInfo | null;
        faceMatching: FaceMatching | null;
    }): void;
}
