viettel-ekyc-sdk
Version:
143 lines (142 loc) • 3.43 kB
TypeScript
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;
}