export declare enum LivenessType { None = 0, ByDescriptor = 1, ByPhoto = 2 } export interface LicenseParams { server: string; eId: string; productId: string; } export interface LunaConfig { detectorStep?: number; skipFrames?: number; compressionQuality?: number; minimalTrackLength?: number; /** * Android only * * @since 5.0.0 */ bestShotsCount?: number; /** * ios only * * @since 5.0.0 */ numberOfBestShots?: number; borderDistance?: number; detectFrameSize?: number; bestShotInterval?: number; headPitch?: number; headYaw?: number; headRoll?: number; ags?: number; eyesCheck?: boolean; /** * ios only * * @since 5.0.0 */ locationEnabled?: boolean; interactionEnabled?: boolean; interactionTimeout?: number; uploadImagesForLiveness?: boolean; livenessErrorTimeout?: number; livenessQuality?: number; livenessType?: LivenessType; /** * android only * * @since 5.3.0 */ licenseParams?: LicenseParams; } declare type RestrictedHeaders = 'Authorization' | 'Luna-Account-Id'; declare type Headers = Record & Partial>; export interface LunaOptions { livenessEnabled: boolean; occludeCheck?: boolean; trackFaceIdentity?: boolean; eyesCheck?: boolean; glassesCheckEnabled?: boolean; interactionEnabled?: boolean; interactionTimeout?: number; plistLicenseFileName?: string; lunaConfig?: LunaConfig; headers?: Headers; } export interface StartOptions { /** * Define whether to record video or not. * @default: false * * @since 5.0.1 */ disableErrors?: boolean; /** * Define whether to disable interaction Tips. * @default: false * * @since 5.0.1 */ disableInteractionTips?: boolean; /** * Define whether to start record video from camera activated or from face is deteced. * @default: false * * @since 5.0.1 */ ignoreVideoWithoutFace?: boolean; /** * Define whether to enable interaction or not. * @default: true * * @since 5.0.1 */ interactionEnabled?: boolean; /** * Define timeout for interaction. * @default: 30000 * * @since 5.0.1 */ interactionTimeoutMs?: number; /** * Define whether to record video or not. * @default: false * * @since 5.0.0 */ recordVideo?: boolean; } export interface BestShot { /** * The base64 encoded string representation of found bestShot. * * @since 1.0.0 */ base64String?: string; /** * The URI of video recorded from stream. * * @since 5.0.0 */ videoPath?: string; } export interface InitializeResponse { /** * is initialized. * * @since 1.0.0 */ initialized: boolean; /** * is initializing. * * @since 7.0.4 */ initializing?: boolean; } export interface LunaSDKPlugin { /** * Initialize plugin with configs * * @since 1.0.8 */ initialize(options?: LunaOptions): Promise; /** * Start face recognition * * @since 1.0.0 */ start(options?: StartOptions): Promise; } export {};