scanbot-web-sdk
Version:
Scanbot Web Document and Barcode Scanner SDK
625 lines (624 loc) • 30.7 kB
TypeScript
import { WorkerBridge } from "./worker/worker-bridge";
import { InitializationOptions } from "./model/configuration/initialization-options";
import { DocumentScannerViewConfiguration } from "./model/configuration/document-scanner-view-configuration";
import { BarcodeScannerViewConfiguration } from "./model/configuration/barcode-scanner-view-configuration";
import { CroppingViewConfiguration } from "./model/configuration/cropping-view-configuration";
import { LicenseInfo } from "./model/response/license-info";
import { IDocumentScannerHandle } from "./interfaces/i-document-scanner-handle";
import { IBarcodeScannerHandle } from "./interfaces/i-barcode-scanner-handle";
import { ICroppingViewHandle } from "./interfaces/i-cropping-view-handle";
import { PdfGenerator } from './service/pdf-generator';
import { TiffGenerator } from './service/tiff-generator';
import { PublicUtils } from "./service/public-utils";
import { Polygon } from "./utils/dto/Polygon";
import { MrzScannerViewConfiguration } from "./model/configuration/mrz-scanner-view-configuration";
import { IMrzScannerHandle } from "./interfaces/i-mrz-scanner-handle";
import SimpleMrzRecognizer from "./service/simple-mrz-recognizer";
import OcrEngine from "./service/ocr-engine";
import { TextPatternScannerViewConfiguration } from "./model/configuration/text-pattern-scanner-view-configuration";
import { VinScannerViewConfiguration } from "./model/configuration/vin-scanner-view-configuration";
import { ITextPatternScannerHandle } from "./interfaces/i-text-pattern-scanner-handle";
import DocumentQualityAnalyzer from "./service/document-quality-analyzer";
import ScanbotSDKUI from "./ui2/scanbot-sdk-ui";
import { Image, DeepPartial, RawImage, ObjectId, Point, DocumentScannerParameters, DocumentDetectionResult, CroppedDetectionResult, BarcodeScannerConfiguration, BarcodeDocumentFormat, DocumentQualityAnalyzerConfiguration, ImageRotation, ParametricFilter, PdfConfiguration, TiffGeneratorParameters, DocumentDataExtractorConfiguration } from "./core-types";
import * as Config from "./core-types";
import { DocumentDataExtractor } from "./service/document-data-extractor";
import { DocumentDataExtractorViewConfiguration } from "./model/configuration/document-data-extractor-view-configuration";
import { ConsumeType } from "./consume-type";
import { Stats } from "./utils/stats";
import { BrowserCameras } from "./utils/browser-cameras";
import { SBStorage } from "./service/storage/sb-storage";
export default class ScanbotSDK {
/** @internal */
bridge: WorkerBridge;
private initialized;
private static defaultEnginePath;
/** @internal */
static instance: ScanbotSDK;
private static _ui2;
static get UI(): typeof ScanbotSDKUI;
static initialize(options: InitializationOptions): Promise<ScanbotSDK>;
storage: SBStorage;
/**
* View Components
*/
createDocumentScanner(configuration: DocumentScannerViewConfiguration): Promise<IDocumentScannerHandle>;
createMrzScanner(configuration: MrzScannerViewConfiguration): Promise<IMrzScannerHandle>;
createBarcodeScanner(configuration: BarcodeScannerViewConfiguration): Promise<IBarcodeScannerHandle>;
openCroppingView(configuration: CroppingViewConfiguration): Promise<ICroppingViewHandle>;
createTextPatternScanner(configuration: TextPatternScannerViewConfiguration): Promise<ITextPatternScannerHandle>;
createVinScanner(configuration: VinScannerViewConfiguration): Promise<ITextPatternScannerHandle>;
createDocumentDataExtractorScanner(config: DocumentDataExtractorViewConfiguration): Promise<any>;
/**
* Image Operations
*/
toDataUrl(imageBuffer: ArrayBuffer): Promise<string>;
/** @param detectionParameters {@displayType `DeepPartial<DocumentScannerParameters>`} {@link DocumentScannerParameters}*/
detectDocument(image: Image, detectionParameters?: DeepPartial<DocumentScannerParameters>, consumeImage?: ConsumeType): Promise<DocumentDetectionResult>;
detectAndCropDocument(imageBuffer: Image, consumeImage?: ConsumeType): Promise<CroppedDetectionResult | null>;
/**
* @param image An image URL (e.g. Data URL or HTTP URL) or an Image object
* @param partialDetectionParameters {@displayType `DeepPartial<Omit<BarcodeScannerConfiguration, "live">>`} {@link BarcodeScannerConfiguration}
* */
detectBarcodes(image: string | Image, partialDetectionParameters?: DeepPartial<Omit<BarcodeScannerConfiguration, "live">>, consumeImage?: ConsumeType): Promise<Config.BarcodeScannerResult & {
originalImage: Image;
}>;
parseBarcodeDocument(acceptedDocumentFormats: BarcodeDocumentFormat[], rawBarcodeData: string): Promise<Config.GenericDocument>;
createSimpleMRZRecognizer(): Promise<SimpleMrzRecognizer>;
createOcrEngine(): Promise<OcrEngine>;
/** @param config {@displayType `DeepPartial<DocumentQualityAnalyzerConfiguration>`} {@link DocumentQualityAnalyzerConfiguration}*/
createDocumentQualityAnalyzer(config?: DeepPartial<DocumentQualityAnalyzerConfiguration>): Promise<DocumentQualityAnalyzer>;
imageRotate(image: Image, rotation: ImageRotation, consumeImage?: ConsumeType): Promise<RawImage>;
imageFilter(image: Image, filter: ParametricFilter, consumeImage?: ConsumeType): Promise<RawImage>;
/** Crops and stretches the image to the convex hull of the supplied points. All points should have relative coordinates between 0 and 1. */
imageCrop(image: Image, polygon: Polygon, consumeImage?: ConsumeType): Promise<RawImage>;
imageResize(image: Image, destinationSize: number, consumeImage?: ConsumeType): Promise<RawImage>;
/**
* Misc. Features
*/
getLicenseInfo(): Promise<LicenseInfo>;
/** @param options {@displayType `DeepPartial<PdfConfiguration>`} {@link PdfConfiguration}*/
beginPdf(options: DeepPartial<PdfConfiguration>): Promise<PdfGenerator>;
/** @param options {@displayType `DeepPartial<TiffGeneratorParameters>`} {@link TiffGeneratorParameters} */
beginTiff(options?: DeepPartial<TiffGeneratorParameters>): Promise<TiffGenerator>;
/** @param options {@displayType `DeepPartial<DocumentDataExtractorConfiguration>`} {@link DocumentDataExtractorConfiguration}*/
createDocumentDataExtractor(options: DeepPartial<DocumentDataExtractorConfiguration>): Promise<DocumentDataExtractor>;
imageToJpeg(image: Image, consumeImage?: ConsumeType): Promise<Uint8Array>;
get version(): string;
private _utils;
get utils(): PublicUtils;
release(object: ObjectId<any>, source?: string): Promise<void>;
/** @internal */
getBridge(consumeImage: ConsumeType): {
initialize: (licenseKey?: string, engine?: string, appId?: string, cdnPath?: string, options?: {
captureConsole?: boolean;
allowThreads?: boolean;
jpegQuality?: number;
requestSuffix?: string;
}) => Promise<any>;
getLicenseInfo: () => Promise<Config.SdkLicenseInfo>;
encodeJpeg: (image: Image) => Promise<Uint8Array>;
detectDocument: (image: Image, options: {
acceptedAngleScore?: number;
acceptedSizeScore?: number;
acceptedBrightnessThreshold?: number;
acceptedAspectRatioScore?: number;
aspectRatios?: {
readonly width?: number;
readonly height?: number;
_marker?: () => void;
}[];
ignoreOrientationMismatch?: boolean;
_marker?: () => void;
}) => Promise<DocumentDetectionResult>;
detectAndCropDocument: (image: Image) => Promise<CroppedDetectionResult>;
createDocumentScanner: (options: {
acceptedAngleScore?: number;
acceptedSizeScore?: number;
acceptedBrightnessThreshold?: number;
acceptedAspectRatioScore?: number;
aspectRatios?: {
readonly width?: number;
readonly height?: number;
_marker?: () => void;
}[];
ignoreOrientationMismatch?: boolean;
_marker?: () => void;
}) => Promise<ObjectId<"DocumentScanner">>;
documentScannerDetect: <ImageType extends Image>(documentScannerToken: ObjectId<"DocumentScanner">, image: ImageType) => Promise<DocumentDetectionResult & {
originalImage: ImageType;
}>;
parseBarcodeDocument: (options: BarcodeDocumentFormat[], data: string) => Promise<Config.GenericDocument>;
createBarcodeScanner: (options: {
barcodeFormatConfigurations?: ({
readonly _type?: "BarcodeFormatCodabarConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
minimumTextLength?: number;
maximumTextLength?: number;
returnStartEnd?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCode11Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
checksum?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCode39Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
code32?: boolean;
code39?: boolean;
pzn7?: boolean;
pzn8?: boolean;
tryCode39ExtendedMode?: boolean;
useCode39CheckDigit?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCode93Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCode128Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
gs1Handling?: Config.Gs1Handling;
minimumTextLength?: number;
maximumTextLength?: number;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCode2Of5Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
iata2of5?: boolean;
code25?: boolean;
industrial2of5?: boolean;
useIATA2OF5Checksum?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatDataBarConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
gs1Handling?: Config.Gs1Handling;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatDataBarExpandedConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
gs1Handling?: Config.Gs1Handling;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatDataBarLimitedConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
gs1Handling?: Config.Gs1Handling;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatITFConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
minimumTextLength?: number;
maximumTextLength?: number;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatMSIPlesseyConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
checksumAlgorithms?: Config.MsiPlesseyChecksumAlgorithm[];
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatUpcEanConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
ean8?: boolean;
ean13?: boolean;
upca?: boolean;
upce?: boolean;
extensions?: Config.UpcEanExtensionBehavior;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatPharmaCodeConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
minimumValue?: number;
allowNarrowBarsOnly?: boolean;
allowWideBarsOnly?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatAztecConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatQRCodeConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
qr?: boolean;
microQr?: boolean;
rmqr?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatPDF417Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatMicroPDF417Configuration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatDataMatrixConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatMaxiCodeConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatAustraliaPostConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
australiaPostCustomerFormat?: Config.AustraliaPostCustomerFormat;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatJapanPostConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatRoyalMailConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
stripCheckDigits?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatRoyalTNTPostConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatUSPSIntelligentMailConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatPharmaCodeTwoTrackConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimumValue?: number;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatGS1CompositeConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCommonOneDConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
gs1Handling?: Config.Gs1Handling;
formats?: Config.BarcodeFormat[];
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCommonTwoDConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
formats?: Config.BarcodeFormat[];
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCommonFourStateConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
formats?: Config.BarcodeFormat[];
_marker?: () => void;
} | {
readonly _type?: "BarcodeFormatCommonConfiguration";
regexFilter?: string;
minimumSizeScore?: number;
addAdditionalQuietZone?: boolean;
minimum1DQuietZoneSize?: number;
stripCheckDigits?: boolean;
minimumTextLength?: number;
maximumTextLength?: number;
gs1Handling?: Config.Gs1Handling;
strictMode?: boolean;
formats?: Config.BarcodeFormat[];
_marker?: () => void;
})[];
extractedDocumentFormats?: BarcodeDocumentFormat[];
onlyAcceptDocuments?: boolean;
returnBarcodeImage?: boolean;
engineMode?: Config.BarcodeScannerEngineMode;
live?: boolean;
_marker?: () => void;
}) => Promise<ObjectId<"BarcodeScanner">>;
scanBarcodes: <ImageType_1 extends Image>(barcodeScannerToken: ObjectId<"BarcodeScanner">, image: ImageType_1) => Promise<Config.BarcodeScannerResult & {
originalImage: ImageType_1;
}>;
beginPdf: (options: {
attributes?: {
author?: string;
creator?: string;
title?: string;
subject?: string;
keywords?: string;
_marker?: () => void;
};
pageSize?: Config.PageSize;
pageDirection?: Config.PageDirection;
pageFit?: Config.PageFit;
dpi?: number;
jpegQuality?: number;
resamplingMethod?: Config.ResamplingMethod;
_marker?: () => void;
}) => Promise<ObjectId<"PdfGenerationContext">>;
addPageToPdf: (pdfOperation: ObjectId<"PdfGenerationContext">, image: Image) => Promise<void>;
addPageToPdfWithOcr: (pdfOperation: ObjectId<"PdfGenerationContext">, image: Image) => Promise<void>;
completePdf: (pdfOperation: ObjectId<"PdfGenerationContext">) => Promise<Uint8Array>;
beginTiff: (options: {
compression?: Config.CompressionMode;
jpegQuality?: number;
zipCompressionLevel?: number;
dpi?: number;
userFields?: {
tag?: number;
name?: string;
value?: {
readonly _type?: "UserFieldDoubleValue";
value?: number;
_marker?: () => void;
} | {
readonly _type?: "UserFieldStringValue";
value?: string;
_marker?: () => void;
} | {
readonly _type?: "UserFieldIntValue";
value?: number;
_marker?: () => void;
};
_marker?: () => void;
}[];
binarizationFilter?: {
readonly _type?: "ScanbotBinarizationFilter";
outputMode?: Config.OutputMode;
_marker?: () => void;
} | {
readonly _type?: "CustomBinarizationFilter";
outputMode?: Config.OutputMode;
denoise?: number;
radius?: number;
preset?: Config.BinarizationFilterPreset;
_marker?: () => void;
} | {
readonly _type?: "ColorDocumentFilter";
_marker?: () => void;
} | {
readonly _type?: "BrightnessFilter";
brightness?: number;
_marker?: () => void;
} | {
readonly _type?: "ContrastFilter";
contrast?: number;
_marker?: () => void;
} | {
readonly _type?: "GrayscaleFilter";
borderWidthFraction?: number;
blackOutliersFraction?: number;
whiteOutliersFraction?: number;
_marker?: () => void;
} | {
readonly _type?: "LegacyFilter";
filterType?: number;
_marker?: () => void;
} | {
readonly _type?: "WhiteBlackPointFilter";
blackPoint?: number;
whitePoint?: number;
_marker?: () => void;
};
_marker?: () => void;
}) => Promise<ObjectId<"TiffGenerationContext">>;
addPageToTiff: (tiffOperation: ObjectId<"TiffGenerationContext">, image: Image, binarization: Config.Binarization) => Promise<unknown>;
completeTiff: (tiffOperation: ObjectId<"TiffGenerationContext">) => Promise<Uint8Array>;
createMRZScanner: (configuration: {
frameAccumulationConfiguration?: {
maximumNumberOfAccumulatedFrames?: number;
minimumNumberOfRequiredFramesWithEqualScanningResult?: number;
_marker?: () => void;
};
enableDetection?: boolean;
incompleteResultHandling?: Config.MrzIncompleteResultHandling;
returnCrops?: boolean;
_marker?: () => void;
}) => Promise<ObjectId<"MRZScannerContext">>;
scanMRZ: <ImageType_2 extends Image>(mrzScannerToken: ObjectId<"MRZScannerContext">, image: ImageType_2) => Promise<Config.MrzScannerResult & {
originalImage: ImageType_2;
}>;
releaseObject: <T>(objectToken: ObjectId<T>) => Promise<void>;
createOcrEngine: () => Promise<ObjectId<"TLDROcrContext">>;
performOcr: (tldrOcrToken: ObjectId<"TLDROcrContext">, image: Image) => Promise<Config.Page>;
createTextPatternScanner: (configuration: {
ocrResolutionLimit?: number;
maximumNumberOfAccumulatedFrames?: number;
minimumNumberOfRequiredFramesWithEqualScanningResult?: number;
validator?: {
readonly _type?: "DefaultContentValidator";
allowedCharacters?: string;
_marker?: () => void;
} | {
readonly _type?: "PatternContentValidator";
allowedCharacters?: string;
pattern?: string;
matchSubstring?: boolean;
_marker?: () => void;
};
_marker?: () => void;
}) => Promise<ObjectId<"TextPatternScanner">>;
scanTextLine: <ImageType_3 extends Image>(scannerToken: ObjectId<"TextPatternScanner">, image: ImageType_3) => Promise<Config.TextPatternScannerResult & {
originalImage: ImageType_3;
}>;
cleanTextLineScanningQueue: (scannerToken: ObjectId<"TextPatternScanner">) => Promise<void>;
createVinScanner: (configuration: {
extractVINFromBarcode?: boolean;
ocrResolutionLimit?: number;
maximumNumberOfAccumulatedFrames?: number;
minimumNumberOfRequiredFramesWithEqualScanningResult?: number;
_marker?: () => void;
}) => Promise<ObjectId<"VinScanner">>;
scanVin: <ImageType_4 extends Image>(scannerToken: ObjectId<"VinScanner">, image: ImageType_4) => Promise<Config.VinScannerResult & {
originalImage: ImageType_4;
}>;
cleanVinScanningQueue: (scannerToken: ObjectId<"VinScanner">) => Promise<void>;
createDocumentQualityAnalyzer: (options: {
qualityThresholds?: {
readonly symbolQuality?: number;
readonly symbolRatio?: number;
_marker?: () => void;
}[];
qualityIndices?: Config.DocumentQuality[];
detectOrientation?: boolean;
maxImageSize?: number;
minEstimatedNumberOfSymbolsForDocument?: number;
minProcessedFraction?: number;
maxProcessedFraction?: number;
earlyStopIfNSymbolsFound?: number;
tileSize?: number;
returnQualityHeatmap?: boolean;
_marker?: () => void;
}) => Promise<ObjectId<"DocumentQualityAnalyzer">>;
documentQualityAnalyzerAnalyze: (dqaToken: ObjectId<"DocumentQualityAnalyzer">, image: Image) => Promise<Config.DocumentQualityAnalyzerResult>;
imageApplyFilter: (image: Image, filter: DeepPartial<ParametricFilter>) => Promise<RawImage>;
imageCrop: (image: Image, polygon: [Point, Point, Point, Point]) => Promise<RawImage>;
imageResize: (image: Image, destinationSize: number) => Promise<RawImage>;
imageRotate: (image: Image, rotations: ImageRotation) => Promise<RawImage>;
documentDataExtractorCreate: (parameters: {
resultAccumulationConfig?: {
confirmationMethod?: Config.ConfirmationMethod;
minConfirmations?: number;
minConfidenceForStableField?: number;
autoClearThreshold?: number;
_marker?: () => void;
};
fieldExcludeList?: string[];
configurations?: ({
readonly _type?: "DateValidationConfiguration";
minYear?: number;
maxYear?: number;
fieldTypeName?: string;
_marker?: () => void;
} | {
readonly _type?: "EuropeanHealthInsuranceCardConfiguration";
expectedCountry?: Config.EuropeanHealthInsuranceCardIssuingCountry;
_marker?: () => void;
} | {
readonly _type?: "MRZFallbackConfiguration";
acceptedCountries?: string[];
acceptedMRZTypes?: Config.MrzDocumentType[];
_marker?: () => void;
} | {
readonly _type?: "DocumentDataExtractorCommonConfiguration";
acceptedDocumentTypes?: string[];
_marker?: () => void;
})[];
returnCrops?: boolean;
_marker?: () => void;
}) => Promise<ObjectId<"DocumentDataExtractor">>;
documentDataExtractorExtract: <ImageType_5 extends Image>(gdrToken: ObjectId<"DocumentDataExtractor">, image: ImageType_5, parameters: {
mode?: Config.DocumentDataExtractionMode;
_marker?: () => void;
}) => Promise<Config.DocumentDataExtractionResult & {
originalImage: ImageType_5;
}>;
version: () => Promise<string>;
__hasModuleFunction: (functionName: string) => Promise<any>;
__callModuleFunction: (functionName: string, args?: any[]) => Promise<any>;
};
private licenseCheck;
static cameras: BrowserCameras;
static Config: typeof Config;
/**
* Used for testing purposes only.
* @internal
*/
static _stats: Stats;
}