@microblink/blinkid-react-native
Version:
A small and powerful ID card scanning library. Powered by Microblink (www.microblink.com).
428 lines • 18.1 kB
TypeScript
import { DetectionLevel, AnonymizationMode, ScanningMode, DocumentRules, DocumentAnonymizationSettings, RecognitionModeFilter } from "./types";
/**
* Settings for the initialization of the BlinkID SDK.
*
*/
export declare class BlinkIdSdkSettings {
/**
* License key for the native SDK.
*
*/
licenseKey: string;
/**
* Optional licensee string if the provided license key is not tied to the single application ID.
*/
licensee?: string;
/**
* Whether resources required for on-device image processing should be downloaded and cached
* on first initialization of the SDK.
*
* If set to false, you need to package all the required
* resources in your application's assets.
*
*/
downloadResources?: boolean;
/**
* If resources are to be downloaded, the following is the URL where the resources are hosted.
*
* URL: `"https://models.cdn.microblink.com/resources"`
*/
resourceDownloadUrl?: string;
/**
* Local folder name where resources will be downloaded and cached.
*
* If resources are being downloaded, this defines the name of the folder within your
* application's cache folder where resources will be cached.
*/
resourceLocalFolder?: string;
/**
* If resources downloading is disabled, this defines the bundle of your app where the resources reside.
*
*/
bundleURL?: string;
/**
* Timeout settings for resource downloads.
*
*/
resourceRequestTimeout?: number;
/**
* Set a custom HTTPS URL to be used as a proxy for Ping and license checks.
* The proxy URL will be applied only if the license has the appropriate rights.
*
* The URL must use the HTTPS protocol. Example: https://your-proxy.com/
*
* If this value is defined, SDK initialization will not be successful in the following cases:
* - if the URL does not use HTTPS or if the URL is invalid
* - if the license does not allow proxy usage
*
*/
microblinkProxyURL?: string;
/**
*
* Settings for the initialization of the BlinkID SDK.
*/
constructor(licenseKey: string, licensee?: string, downloadResources?: boolean, resourceDownloadUrl?: string, resourceLocalFolder?: string, bundleURL?: string, resourceRequestTimeout?: number, microblinkProxyURL?: string);
}
/**
* Represents the configuration settings for a scanning session.
*
* This class holds the settings related to the resources initialization,
* scanning mode, and specific scanning configurations that define how the scanning
* session should behave.
*/
export declare class BlinkIdSessionSettings {
/**
* The scanning mode to be used during the scanning session.
*
* Specifies whether the scanning is for a single side of a document or multiple
* sides, as defined in {@link ScanningMode}. The default is set to `automatic`, which
* automatically determines the number of sides to scan.
*
*/
scanningMode: ScanningMode;
/**
* The specific scanning settings for the scanning session.
*
* Defines various parameters that control the scanning process.
*/
scanningSettings: BlinkIdScanningSettings;
/**
* Duration in seconds before scanning step times out and is cancelled.
*
* If less than zero, scanning will not time out.
* Defaults to 15000 (miliseconds)
*/
stepTimeoutDuration: number;
/**
*
* Represents the configuration settings for a scanning session.
*
* This class holds the settings related to the resources initialization,
* scanning mode, and specific scanning configurations that define how the scanning
* session should behave.
*/
constructor();
}
/**
* Represents the configurable settings for scanning a document.
*
* This class defines various parameters and policies related to the scanning
* process, including image quality handling, data extraction and anonymization,
* along with options for frame processing and image extraction.
*
* */
export declare class BlinkIdScanningSettings {
/**
* The level of blur detection in the document image.
*
* Defines the severity of blur detected in the document image, as defined
* in [DetectionLevel]. Values range from `off` (detection NotAvailable) to higher
* levels of blur detection.
*
* `low` – less sensitive to blur; if something is detected as blur, it is almost certainly actual blur,
* but some amount of blur may not be detected at all.
* `high` – highly sensitive to blur; it may detect as blur even something that only resembles blur.
*
* Default: {@link DetectionLevel.Mid}
* */
blurDetectionLevel: DetectionLevel;
/**
* Indicates whether images with blur in the document image should be skipped.
*
* A value of `true` means images with detected blur will be excluded from further processing to prevent blurred images from being used
* - If blurDetectionLevel = `off` - blurred images will be processed
* - If blur is detected `ProcessingStatus` will be `ImagePreprocessingFailed` and blur will be reported in the `ProcessResult`
* A value of `false` means images with detected blur will not be excluded from further processing
* - If blurDetectionLevel != `off` - even if blur is detected, the image will be processed and blur will be reported in the `ProcessResult`.
*
* Default: `true`
*/
skipImagesWithBlur: boolean;
/**
* The level of glare detection in the document image.
*
* Defines the severity of glare detected in the document image, as defined in [DetectionLevel].
* Values range from `off` (detection NotAvailable) to higher levels of glare detection.
* `low` – less sensitive to glare; if something is detected as glare, it is almost certainly actual glare,
* but some amount of glare may not be detected at all.
* `high` – highly sensitive to glare; it may detect as glare even something that only resembles glare.
*
* Default: {@link DetectionLevel.Mid}
*/
glareDetectionLevel: DetectionLevel;
/**
* Indicates whether images with glare in the document image should be skipped.
*
* A value of `true` means images with detected glare will be excluded from further processing to prevent glared images from being used
* - If glareDetectionLevel = `off` - glared images will be processed
* - If glare is detected `ProcessingStatus` will be `ImagePreprocessingFailed` and glare will be reported in the `ProcessResult`
* A value of `false` means images with detected glare will not be excluded from further processing
* - If glareDetectionLevel != `off` - even if glare is detected, the image will be processed and glare will be reported in the `ProcessResult`
*
* Default: `true`
*/
skipImagesWithGlare: boolean;
/**
* The level of allowed detected tilt of the document in the image.
*
* Defines the severity of allowed detected tilt of the document in the image, as defined in [DetectionLevel].
* Values range from `off` (detection NotAvailable) to higher levels of allowed tilt.
* `low` – less sensitive to tilt.
* `high` – highly sensitive to tilt.
*
* Default: {@link DetectionLevel.off}
*/
tiltDetectionLevel: DetectionLevel;
/**
* Indicates whether images with inadequate lighting conditions should be rejected.
*
* Inadequate lighting conditions are represented as either `TooBright` or `TooDark` document images,
* as defined in the `ImageAnalysisLightingStatus` enum.
* A value of `true` means images with inadequate lighting conditions will be excluded from further processing to prevent images with
* inadequate lighting from being used
* - If inadequate light conditions are detected `ProcessingStatus` will be `ImagePreprocessingFailed` and lighting status will be
* reported in the `ProcessResult`.
*
* Default: `true`
*/
skipImagesWithInadequateLightingConditions: boolean;
/**
* Indicates whether images occluded by hand should be rejected.
*
* A value of `true` means images occluded by hand will be excluded from further processing to prevent occluded images from being used
* - If hand occlusion is detected `ProcessingStatus` will be `ImagePreprocessingFailed` and hand occlusion status will be reported
* in the `ProcessResult`
* This setting is applicable only if `scanCroppedDocumentImage` = false.
*
* Default: `true`
*/
skipImagesOccludedByHand: boolean;
/**
* Indicates whether the aggregation of data from multiple images is enabled.
*
* Disabling this setting will yield higher-quality captured images, but it may slow down the scanning process due to the additional
* effort required to find the optimal image.
* Enabling this setting will simplify the extraction process, but the extracted data will be aggregated from multiple images instead
* of being sourced from a single image.
* This only applies to images from Video input image source - for images from Photo source, setting will be ignored.
*
* Default: `true`
*/
combineResultsFromMultipleInputImages: boolean;
/**
* Enables barcode recognition to proceed even if the initial VIZ extraction fails.
*
* If the barcode recognition is successful, recognition will still end in a valid state.
* This setting is applicable only to images from Photo source.
* For multi-side scanning, it is permitted only for the back side.
*
* Default: `false`
*/
enableBarcodeScanOnly: boolean;
/**
* Defines custom rules for specific document class.
*
* When defining [DocumentRules], [DocumentFilter] is optionally set to specify the document to which the rule applies, and a `fields` with
* the appropriate `alphabetType` should be specified as mandatory for that document.
* If a `fields` is set to a field that is optional for that document or does not exist on it, all fields on the document become optional.
* If a `fields` is set to a field with an incorrect alphabetType, all fields on the document become optional.
* If a `fields` is set to a field that doesn’t exist in the internal rules, that rule is ignored.
* When adding multiple `fields`, any field that does not match our rules is ignored. Only fields that comply with our rules are set as mandatory.
* If the documentFilter fields `country`, `region`, or `type` are set to `null`, all supported values for those fields will be considered.
* For example, if `country = null`, the rule will apply to all supported countries in BlinkID.
*
* By default, document fields are validated using internal rules that define mandatory fields for the scanned document class. This setting allows
* users to narrow down our internal rules on mandatory fields. All undefined fields will become optional. It is not possible to mark fields as
* mandatory if they cannot theoretically appear on the document.
* The more detailed document filter will have priority over the other.
*
* See {@link DocumentRules} for more detailed information.
*/
customDocumentRules?: DocumentRules[];
/**
* The mode of anonymization applied to the document.
*
* Redact specific fields based on requirements or laws regarding a specific document.
* Data can be redacted from the image, the result or both.
*
* Default: {@link AnonymizationMode.fullResult}
*/
anonymizationMode: AnonymizationMode;
/**
* Redact fields for specific document class.
*
* Fields specified by requirements or laws for a specific document will be redacted regardless of this setting.
* Based on anonymizationMode setting, data will be redacted from the image, the result or both.
*
* See {@link DocumentAnonymizationSettings} for more information.
*/
customDocumentAnonymizationSettings?: DocumentAnonymizationSettings[];
/**
* Indicates whether input images should be returned.
*
* Save the input images at the moment of the data extraction or timeout.
* This significantly increases memory consumption. The scanning performance is not affected.
*
* Default: `false`
*/
returnInputImages: boolean;
/**
* Process only cropped document images.
* Requires the input image to consist solely of the cropped document image with perspective correction applied.
* This only applies to images from Photo input image source - for images from Video input image source, setting will be ignored.
*
* Default: `false`
*/
scanCroppedDocumentImage: boolean;
/**
* The filter for recognition modes.
*
* Specifies which recognition modes are enabled during the scanning process, with a default value of true to enable all modes.
* [RecognitionModeFilter] is used to enable/disable recognition of specific document groups.
*
* This setting is experimental and it will be removed in upcoming releases.
*
* By default all modes are enabled (set to `true`).
*/
recognitionModeFilter: RecognitionModeFilter;
/**
* Indicates whether character validation is enabled.
*
* Allow only results containing expected characters for a given field.
* Each field is validated against a set of rules.
* All fields have to be successfully validated in order to successfully scan a document.
* Setting is used to improve scanning accuracy.
* If set to `true`, when an invalid character is detected `ProcessingStatus.InvalidCharactersFound` is returned.
*
* Default: `true`
*/
enableCharacterValidation: boolean;
/**
* Defines the minimum required margin (in percentage) between the edge of the input image and the document.
*
* The setting is applicable only when using images from Video source.
* The setting is not applicable if `scanCroppedDocumentImage = true` (it will be ignored).
* This setting is implemented to comply with regulations in certain countries that mandate documents
* to be stored with adequate margins in the image.
*
* Default: `0.02` (also recommended value)
*/
inputImageMargin: number;
/**
* Indicates whether backside of unsupported document should be scanned also.
*
* By default, back side of the document will not be scanned if only the front side is supported for a specific
* document.
*
* Default: `false`
*/
scanUnsupportedBack: boolean;
/**
* Indicates whether scanning can continue to the next side despite an uncertain front-side scan.
*
* This only applies to images from Photo input image source - for images from Video source, setting will be
* ignored.
*
* Default: `false`
*/
allowUncertainFrontSideScan: boolean;
/**
* The maximum allowed mismatches per field during data matching.
*
* Configures the maximum number of characters per field that can be inconsistent during data matching.
* By defualt, no mismatches are allowed.
*
* Default: `0`
*/
maxAllowedMismatchesPerField: number;
/**
* Indicates whether only the passport data page should be scanned.
*
* Scan only the data page ( page containing MRZ ) of the passport.
* If set to `false`, it will be required to scan the second page of certain passports.
*
* Default: `true`
*/
scanPassportDataPageOnly: boolean;
/**
* Configures the image processing settings during the scanning process.
*
* Allows customization of cropped image handling, such as dotsPerInch, extensions, and
* whether images should be returned for the document, face or signature regions.
*
* See {@link CroppedImageSettings} for more information.
*/
croppedImageSettings: CroppedImageSettings;
/**
* Represents the configurable settings for scanning a document.
*
* This class defines various parameters and policies related to the scanning
* process, including image quality handling, data extraction and anonymization,
* along with options for frame processing and image extraction.
*/
constructor();
}
/**
* Allows customization of various aspects of the UI
* used during the scanning process.
*
*/
export declare class BlinkIdUiSettings {
/**
* A boolean indicating whether to show a help button
* and enable help screens during the scanning session.
*
* Default: `true`
*/
showHelpButton: boolean;
/**
* A boolean indicating whether to show an onboarding dialog
* at the beginning of the scanning session.
*
* Default: `true`
*/
showOnboardingDialog: boolean;
constructor();
}
/**
* Represents the image cropping settings.
*
*/
export declare class CroppedImageSettings {
/**
* The DPI value for the cropped image.
*
* Default: `250`
*/
dotsPerInch: number;
/**
* The extension factor for the cropped image.
*
* Default: `0`
*/
extensionFactor: number;
/**
* Indicates whether the document image should be returned.
*
* Default: `false`
*/
returnDocumentImage: boolean;
/**
* Indicates whether the face image should be returned.
*
* Default: `false`
*/
returnFaceImage: boolean;
/**
* Indicates whether the signature image should be returned.
*
* Default: `false`
*/
returnSignatureImage: boolean;
/**
* Represents the image cropping settings.
*
*/
constructor();
}
//# sourceMappingURL=blinkIdSettings.d.ts.map