capacitor-plugin-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK for Capacitor
165 lines (164 loc) • 8.43 kB
TypeScript
import type { AddPageOptions } from './types/base/AddPageOptions';
import type { CreateDocumentOptions } from './types/base/CreateDocumentOptions';
import type { ModifyPageOptions } from './types/base/ModifyPageOptions';
import type { ImageInput, ResultWrapper } from './types/base/customTypes';
import type { Page } from './types/base/types';
import type { DocumentQualityAnalyzerConfiguration, DocumentQualityAnalyzerResult } from './types/core/document_quality_analyzer/DocumentQualityAnalyzerTypes';
import type { DocumentData } from './types/core/document_scanner/DocumentData';
import type { DocumentScannerConfiguration, DocumentScanningResult } from './types/core/document_scanner/DocumentScannerTypes';
import type { CroppingConfiguration } from './types/core/ui_v2/document/CroppingConfiguration';
import type { DocumentScanningFlow } from './types/core/ui_v2/document/DocumentScanningFlow';
/**
* Entry point for all document features.
*/
export declare const ScanbotDocument: {
/**
* Creates a document from the provided images with the specified options.
* @param {ImageInput[]} params.images - The images to be used for document creation.
* @param {CreateDocumentOptions} params.options - The options to be used for document creation.
* @returns {Promise<DocumentData>} - Created document.
*/
createDocumentFromImages(params: {
images?: ImageInput[];
options?: CreateDocumentOptions;
}): Promise<DocumentData>;
/**
* Creates a document from the provided PDF file with the specified options.
* @param {string} params.pdfFileUri - The PDF file uri to be used for document creation.
* @param {CreateDocumentOptions} params.options - The options to be used for document creation.
* @returns {Promise<DocumentData>} - Created document.
*/
createDocumentFromPdf(params: {
pdfFileUri: string;
options?: CreateDocumentOptions;
}): Promise<DocumentData>;
/**
* Creates a document from the provided legacy pages with the specified image size limit.
* @param {Page[]} params.pages - The legacy pages to be used for document creation. Legacy filters that are set on the pages will be ignored. Please switch to ParametricFilters instead.
* @param {number} params.documentImageSizeLimit - The maximum size of the longest edge of the document image. If the image exceeds this limit, it will be downscaled proportionally. Default is 0
* @returns {Promise<DocumentData>} - Created document.
* @deprecated
*/
createDocumentFromLegacyPages(params: {
pages: Page[];
documentImageSizeLimit?: number;
}): Promise<DocumentData>;
/**
* Checks if a document with the specified Uuid exists.
* @param {string} documentUuid - The Uuid of the document.
* @returns {Promise<boolean>} - True if the document exists, false otherwise.
*/
documentExists(documentUuid: string): Promise<boolean>;
/**
* Loads the document with the specified Uuid.
* @param {string} documentUuid - The Uuid of the document.
* @returns {Promise<DocumentData>} - Loaded document.
*/
loadDocument(documentUuid: string): Promise<DocumentData>;
/**
* Retrieves the Uuids of all stored documents.
* @returns {Promise<string[]>} - List of stored document Uuids.
*/
getStoredDocumentUuids(): Promise<string[]>;
/**
* Clones the document with the specified Uuid.
* @param {string} documentUuid - The Uuid of the document to be cloned.
* @returns {Promise<DocumentData>} - Cloned document.
*/
cloneDocument(documentUuid: string): Promise<DocumentData>;
/**
* Deletes the document with the specified Uuid.
* @param {string} documentUuid - The Uuid of the document to be deleted.
* @returns {Promise<void>}
*/
deleteDocument(documentUuid: string): Promise<void>;
/**
* Deletes all stored documents.
* @returns {Promise<void>}
*/
deleteAllDocuments(): Promise<void>;
/**
* Adds new pages from the provided images to the document with the specified Uuid.
* @param {string} params.documentUuid - The Uuid of the document to which pages will be added.
* @param {ImageInput[]} params.images - The images to be added as new pages.
* @param {AddPageOptions} params.options - The options to be used when adding pages.
* @returns {Promise<DocumentData>} - Updated document with added pages.
*/
addPages(params: {
documentUuid: string;
images: ImageInput[];
options?: AddPageOptions;
}): Promise<DocumentData>;
/**
* Moves a page within the document to a new position.
* @param {string} params.documentUuid - The Uuid of the document containing the page to be moved.
* @param {number} params.fromIndex - The index of the page to be moved.
* @param {number} params.toIndex - The new index position for the page.
* @returns {Promise<DocumentData>} - Updated document with the page moved to the new position.
*/
movePage(params: {
documentUuid: string;
fromIndex: number;
toIndex: number;
}): Promise<DocumentData>;
/**
* Modifies a page within the document using the specified options.
* @param {string} params.documentUuid - The Uuid of the document containing the page to be modified.
* @param {string} params.pageUuid - The Uuid of the page to be modified.
* @param {ModifyPageOptions} params.options - The options specifying the modifications to be made to the page.
* @returns {Promise<DocumentData>} - Updated document with the modified page.
*/
modifyPage(params: {
documentUuid: string;
pageUuid: string;
options?: ModifyPageOptions;
}): Promise<DocumentData>;
/**
* Removes pages with the specified Uuids from the document.
* @param {string} params.documentUuid - The Uuid of the document from which pages will be removed.
* @param {string[]} params.pageUuids - The Uuids of the pages to be removed.
* @returns {Promise<DocumentData>} - Updated document with the specified pages removed.
*/
removePages(params: {
documentUuid: string;
pageUuids: string[];
}): Promise<DocumentData>;
/**
* Removes all pages from the document with the specified Uuid.
* @param {string} documentUuid - The Uuid of the document from which all pages will be removed.
* @returns {Promise<DocumentData>} - Updated document with all pages removed.
*/
removeAllPages(documentUuid: string): Promise<DocumentData>;
/**
* Opens the Ready-To-Use UI Document Scanner screen with the desired configuration.
* @param {DocumentScanningFlow} configuration - The configuration to be used for the document scanner.
* @returns {Promise<ResultWrapper<DocumentData>>} - Scanned document.
*/
startScanner(configuration: DocumentScanningFlow): Promise<ResultWrapper<DocumentData>>;
/**
* Opens the Ready-To-Use UI Cropping screen with the desired configuration.
* @param {CroppingConfiguration} configuration - The configuration to be used for the cropping screen.
* @returns {Promise<ResultWrapper<DocumentData>>} - Updated document after cropping.
*/
startCroppingScreen(configuration: CroppingConfiguration): Promise<ResultWrapper<DocumentData>>;
/**
* Scans a document from the provided image.
* @param {ImageInput} params.image - The image to be scanned.
* @param {DocumentScannerConfiguration} params.configuration - The configuration to be used for scanning.
* @returns {Promise<DocumentScanningResult>} - Result of the scanning process.
*/
scanFromImage(params: {
image: ImageInput;
configuration: DocumentScannerConfiguration;
}): Promise<DocumentScanningResult>;
/**
* Analyzes the quality of the document on the provided image.
* @param {ImageInput} params.image - The image to be analyzed.
* @param {DocumentQualityAnalyzerConfiguration} params.configuration - The configuration to be used for analysis.
* @returns {Promise<DocumentQualityAnalyzerResult>} - Result of the quality analysis.
*/
analyzeQualityOnImage(params: {
image: ImageInput;
configuration: DocumentQualityAnalyzerConfiguration;
}): Promise<DocumentQualityAnalyzerResult>;
};