UNPKG

@microblink/blinkid-in-browser-sdk

Version:

A simple ID scanning library for WebAssembly-enabled browsers.

209 lines (208 loc) 6.48 kB
/** * Copyright (c) Microblink Ltd. All rights reserved. */ import { EventEmitter } from '../stencil-public-runtime'; import * as BlinkIDSDK from "../../../es/blinkid-sdk"; export interface MicroblinkUI { allowHelloMessage: boolean; engineLocation: string; licenseKey: string; rawRecognizers: string; recognizers: Array<string>; rawRecognizerOptions: string; recognizerOptions: Array<string>; includeSuccessFrame?: boolean; enableDrag: boolean; hideFeedback: boolean; hideLoadingAndErrorUi: boolean; scanFromCamera: boolean; scanFromImage: boolean; translations: { [key: string]: string; }; rawTranslations: string; showActionLabels: boolean; showModalWindows: boolean; iconCameraDefault: string; iconCameraActive: string; iconGalleryDefault: string; iconGalleryActive: string; iconInvalidFormat: string; iconSpinnerScreenLoading: string; iconSpinnerFromGalleryExperience: string; fatalError: EventEmitter<EventFatalError>; ready: EventEmitter<EventReady>; scanError: EventEmitter<EventScanError>; scanSuccess: EventEmitter<EventScanSuccess>; cameraScanStarted: EventEmitter<null>; imageScanStarted: EventEmitter<null>; setUiState: (state: 'ERROR' | 'LOADING' | 'NONE' | 'SUCCESS') => Promise<any>; setUiMessage: (state: 'FEEDBACK_ERROR' | 'FEEDBACK_INFO' | 'FEEDBACK_OK', message: string) => Promise<any>; } export interface SdkSettings { allowHelloMessage: boolean; engineLocation: string; } /** * Events */ export declare class EventFatalError { code: Code; message: string; details?: any; constructor(code: Code, message: string, details?: any); } export declare class EventReady { sdk: BlinkIDSDK.WasmSDK; constructor(sdk: BlinkIDSDK.WasmSDK); } export declare class EventScanError { code: Code; fatal: boolean; message: string; recognizerName: string; constructor(code: Code, fatal: boolean, message: string, recognizerName: string); } export declare class EventScanSuccess { recognizer: BlinkIDSDK.RecognizerResult; recognizerName: string; successFrame?: BlinkIDSDK.SuccessFrameGrabberRecognizerResult; constructor(recognizer: BlinkIDSDK.RecognizerResult, recognizerName: string, successFrame?: BlinkIDSDK.SuccessFrameGrabberRecognizerResult); } export interface RecognitionResults { recognizer: BlinkIDSDK.RecognizerResult; successFrame?: BlinkIDSDK.SuccessFrameGrabberRecognizerResult; } /** * Error codes */ export declare enum Code { BrowserNotSupported = "BROWSER_NOT_SUPPORTED", EmptyResult = "EMPTY_RESULT", InvalidRecognizers = "INVALID_RECOGNIZERS", InvalidRecognizerOptions = "INVALID_RECOGNIZER_OPTIONS", MissingLicenseKey = "MISSING_LICENSE_KEY", NoImageFileFound = "NO_IMAGE_FILE_FOUND", SdkLoadFailed = "SDK_LOAD_FAILED", GenericScanError = "GENERIC_SCAN_ERROR", CameraNotAllowed = "CAMERA_NOT_ALLOWED", CameraInUse = "CAMERA_IN_USE", CameraGenericError = "CAMERA_GENERIC_ERROR", InternetNotAvailable = "INTERNET_NOT_AVAILABLE", LicenseError = "LICENSE_ERROR" } /** * Scan structures */ export declare const AvailableRecognizers: { [key: string]: string; }; export declare enum AnonymizationMode { None, ImageOnly, ResultFieldsOnly, FullResult } export declare const AvailableRecognizerOptions: { [key: string]: Array<string>; }; export interface VideoRecognitionConfiguration { recognizers: Array<string>; recognizerOptions?: Array<string>; successFrame: boolean; anonymization?: AnonymizationMode; cameraFeed: HTMLVideoElement; cameraId: string | null; } export interface ImageRecognitionConfiguration { recognizers: Array<string>; recognizerOptions?: Array<string>; anonymization?: AnonymizationMode; thoroughScan?: boolean; fileList: FileList; } export interface RecognizerInstance { name: string; recognizer: BlinkIDSDK.Recognizer & { objectHandle: number; }; successFrame?: BlinkIDSDK.SuccessFrameGrabberRecognizer<BlinkIDSDK.Recognizer> & { objectHandle?: number; }; } export declare enum RecognitionStatus { NoImageFileFound = "NoImageFileFound", Preparing = "Preparing", Processing = "Processing", DetectionFailed = "DetectionFailed", EmptyResultState = "EmptyResultState", OnFirstSideResult = "OnFirstSideResult", ScanSuccessful = "ScanSuccessful", DocumentClassified = "DocumentClassified", DetectionStatusChange = "DetectionStatusChange", NoSupportForMediaDevices = "NoSupportForMediaDevices", CameraNotFound = "CameraNotFound", CameraNotAllowed = "CameraNotAllowed", UnableToAccessCamera = "UnableToAccessCamera", CameraInUse = "CameraInUse", CameraGenericError = "CameraGenericError", UnknownError = "UnknownError", DetectionStatusFail = "Fail", DetectionStatusSuccess = "Success", DetectionStatusCameraTooHigh = "CameraTooHigh", DetectionStatusFallbackSuccess = "FallbackSuccess", DetectionStatusPartial = "Partial", DetectionStatusCameraAtAngle = "CameraAtAngle", DetectionStatusCameraTooNear = "CameraTooNear", DetectionStatusDocumentTooCloseToEdge = "DocumentTooCloseToEdge" } export interface RecognitionEvent { status: RecognitionStatus; data?: any; } export interface RecognitionResults { recognizer: BlinkIDSDK.RecognizerResult; recognizerName: string; successFrame?: BlinkIDSDK.SuccessFrameGrabberRecognizerResult; imageCapture?: boolean; } export declare enum CameraExperience { Barcode = "BARCODE", CardCombined = "CARD_COMBINED", CardSingleSide = "CARD_SINGLE_SIDE", BlinkCard = "BLINKCARD" } export declare enum CameraExperienceState { AdjustAngle = "AdjustAngle", Classification = "Classification", Default = "Default", Detection = "Detection", Done = "Done", DoneAll = "DoneAll", Flip = "Flip", MoveCloser = "MoveCloser", MoveFarther = "MoveFarther" } export declare const CameraExperienceStateDuration: Map<CameraExperienceState, number>; export declare enum CameraExperienceReticleAnimation { Default = 0, Detection = 1, Classification = 2 } /** * User feedback structures */ export declare enum FeedbackCode { CameraDisabled = "CAMERA_DISABLED", CameraGenericError = "CAMERA_GENERIC_ERROR", CameraInUse = "CAMERA_IN_USE", CameraNotAllowed = "CAMERA_NOT_ALLOWED", GenericScanError = "GENERIC_SCAN_ERROR", ScanUnsuccessful = "SCAN_UNSUCCESSFUL", ScanSuccessful = "SCAN_SUCCESSFUL" } export interface FeedbackMessage { code?: FeedbackCode; state: 'FEEDBACK_ERROR' | 'FEEDBACK_INFO' | 'FEEDBACK_OK'; message: string; }