@microblink/blinkid-in-browser-sdk
Version:
A simple ID scanning library for WebAssembly-enabled browsers.
209 lines (208 loc) • 6.48 kB
TypeScript
/**
* 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;
}