import type { OcrConfigsResult } from './types/base/OcrEngineResult';
import type { SdkConfiguration } from './types/base/SdkConfiguration';
import type { AnalyticsSubscriber } from './types/core/analytics/AnalyticsSubscriberImpl';
import type { LicenseInfo } from './types/core/licensing/LicensingTypes';
/**
 * Entry point for all features that are part of Scanbot SDK.
 */
export declare const ScanbotSdk: {
    /**
     * Used for barcode scanning features.
     */
    Barcode: {
        startScanner(configuration: import("./types").BarcodeScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").BarcodeScannerUiResult>>;
        scanFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").BarcodeScannerConfiguration;
        }): Promise<import("./types").BarcodeScannerResult>;
        scanFromPdf(params: {
            pdfFileUri: string;
            configuration: import("./types").BarcodeScannerConfiguration;
        }): Promise<import("./types").BarcodeScannerResult>;
        parseDocument(params: {
            rawText: string;
            acceptedFormats?: import("./types").BarcodeDocumentFormat[];
        }): Promise<import("./types").BarcodeDocumentParserResult>;
    };
    /**
     * Used for check scanning features.
     */
    Check: {
        startScanner(configuration: import("./types").CheckScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").CheckScannerUiResult>>;
        scanFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").CheckScannerConfiguration;
        }): Promise<import("./types").CheckScanningResult>;
    };
    /**
     * Used for credit card scanning features.
     */
    CreditCard: {
        startScanner(configuration: import("./types").CreditCardScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").CreditCardScannerUiResult>>;
        scanFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").CreditCardScannerConfiguration;
        }): Promise<import("./types").CreditCardScanningResult>;
    };
    /**
     * Used for document scanning features.
     */
    Document: {
        createDocumentFromImages(params: {
            images?: import("./types").ImageInput[];
            options?: import("./types").CreateDocumentOptions;
        }): Promise<import("./types").DocumentData>;
        createDocumentFromPdf(params: {
            pdfFileUri: string;
            options?: import("./types").CreateDocumentOptions;
        }): Promise<import("./types").DocumentData>;
        createDocumentFromLegacyPages(params: {
            pages: import("./types").Page[];
            documentImageSizeLimit?: number;
        }): Promise<import("./types").DocumentData>;
        documentExists(documentUuid: string): Promise<boolean>;
        loadDocument(documentUuid: string): Promise<import("./types").DocumentData>;
        getStoredDocumentUuids(): Promise<string[]>;
        cloneDocument(documentUuid: string): Promise<import("./types").DocumentData>;
        deleteDocument(documentUuid: string): Promise<void>;
        deleteAllDocuments(): Promise<void>;
        addPages(params: {
            documentUuid: string;
            images: import("./types").ImageInput[];
            options?: import("./types").AddPageOptions;
        }): Promise<import("./types").DocumentData>;
        movePage(params: {
            documentUuid: string;
            fromIndex: number;
            toIndex: number;
        }): Promise<import("./types").DocumentData>;
        modifyPage(params: {
            documentUuid: string;
            pageUuid: string;
            options?: import("./types").ModifyPageOptions;
        }): Promise<import("./types").DocumentData>;
        removePages(params: {
            documentUuid: string;
            pageUuids: string[];
        }): Promise<import("./types").DocumentData>;
        removeAllPages(documentUuid: string): Promise<import("./types").DocumentData>;
        startScanner(configuration: import("./types").DocumentScanningFlow): Promise<import("./types").ResultWrapper<import("./types").DocumentData>>;
        startCroppingScreen(configuration: import("./types").CroppingConfiguration): Promise<import("./types").ResultWrapper<import("./types").DocumentData>>;
        scanFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").DocumentScannerConfiguration;
        }): Promise<import("./types").DocumentScanningResult>;
        analyzeQualityOnImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").DocumentQualityAnalyzerConfiguration;
        }): Promise<import("./types").DocumentQualityAnalyzerResult>;
    };
    /**
     * Used for document data extraction features.
     */
    DocumentDataExtractor: {
        startExtractorScreen(configuration: import("./types").DocumentDataExtractorScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").DocumentDataExtractorUiResult>>;
        extractFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").DocumentDataExtractorConfiguration;
        }): Promise<import("./types").DocumentDataExtractionResult>;
        verifyDocument(documentParts: import("./types").GenericDocument[]): Promise<import("./types").DocumentVerificationReport>;
    };
    /**
     * Used for image processing features.
     */
    ImageProcessor: {
        applyFiltersOnImageFile(params: {
            imageFileUri: string;
            filters: import("./types").ParametricFilter[];
            overwrite?: boolean;
            saveOptions?: import("./types").SaveImageOptions;
        }): Promise<string>;
        applyFilters(params: {
            image: import("./types").ImageRef;
            filters: import("./types").ParametricFilter[];
        }): Promise<import("./types").ImageRef>;
        rotateImageFile(params: {
            imageFileUri: string;
            rotation: import("./types").ImageRotation;
            overwrite?: boolean;
            saveOptions?: import("./types").SaveImageOptions;
        }): Promise<string>;
        rotate(params: {
            image: import("./types").ImageRef;
            rotation: import("./types").ImageRotation;
        }): Promise<import("./types").ImageRef>;
        resizeImageFile(params: {
            imageFileUri: string;
            maxSize: number;
            overwrite?: boolean;
            saveOptions?: import("./types").SaveImageOptions;
        }): Promise<string>;
        resize(params: {
            image: import("./types").ImageRef;
            maxSize: number;
        }): Promise<import("./types").ImageRef>;
        cropImageFile(params: {
            imageFileUri: string;
            polygon: import("./types").Point[];
            overwrite?: boolean;
            saveOptions?: import("./types").SaveImageOptions;
        }): Promise<string>;
        crop(params: {
            image: import("./types").ImageRef;
            polygon: import("./types").Point[];
        }): Promise<import("./types").ImageRef>;
        readImageData(imageFileUri: string): Promise<string>;
    };
    /**
     * Used for legacy page features.
     * @deprecated Please, use ***ScanbotDocument*** instead.
     */
    LegacyPage: {
        removePage(page: import("./types").Page): Promise<void>;
        removeAllPages(): Promise<void>;
        setDocumentImage(params: {
            page: import("./types").Page;
            imageFileUri: string;
        }): Promise<import("./types").Page>;
        refreshImageUris(pages: import("./types").Page[]): Promise<import("./types").Page[]>;
    };
    /**
     * Used for MRZ scanning features.
     */
    Mrz: {
        startScanner(configuration: import("./types").MrzScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").MrzScannerUiResult>>;
        scanFromImage(params: {
            image: import("./types").ImageInput;
            configuration: import("./types").MrzScannerConfiguration;
        }): Promise<import("./types").MrzScannerResult>;
    };
    /**
     * Used for OCR features.
     */
    OcrEngine: {
        recognizeOnImages(params: {
            images: import("./types").ImageInput[];
            configuration?: import("./types").OcrConfiguration;
        }): Promise<import("./types/base/OcrEngineResult").PerformOcrResult>;
        recognizeOnDocument(params: {
            documentUuid: string;
            configuration?: import("./types").OcrConfiguration;
        }): Promise<import("./types/base/OcrEngineResult").PerformOcrResult>;
    };
    /**
     * Used for PDF generation features.
     */
    PdfGenerator: {
        generateFromImages(params: {
            images: import("./types").ImageInput[];
            pdfConfiguration: import("./types").PdfConfiguration;
            ocrConfiguration?: import("./types").OcrConfiguration;
        }): Promise<string>;
        generateFromDocument(params: {
            documentUuid: string;
            pdfConfiguration: import("./types").PdfConfiguration;
            ocrConfiguration?: import("./types").OcrConfiguration;
        }): Promise<string>;
    };
    /**
     * Used to extract images from PDF documents.
     */
    PdfImageExtractor: {
        extractImageFiles(params: {
            pdfFileUri: string;
            options?: import("./types").PdfExtractorOptions;
        }): Promise<string[]>;
    };
    /**
     * Used for text pattern recognition features.
     */
    TextPattern: {
        startScanner(configuration: import("./types").TextPatternScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").TextPatternScannerUiResult>>;
    };
    /**
     * Used for TIFF generation features.
     */
    TiffGenerator: {
        generateFromImages(params: {
            images: import("./types").ImageInput[];
            tiffGeneratorParameters: import("./types").TiffGeneratorParameters;
        }): Promise<string>;
        generateFromDocument(params: {
            documentUuid: string;
            tiffGeneratorParameters: import("./types").TiffGeneratorParameters;
        }): Promise<string>;
    };
    /**
     * Used for VIN scanning features.
     */
    Vin: {
        startScanner(configuration: import("./types").VinScannerScreenConfiguration): Promise<import("./types").ResultWrapper<import("./types").VinScannerUiResult>>;
    };
    /**
     * Retrieves the OCR configurations available in the Scanbot SDK.
     * @returns {Promise<OcrConfigsResult>} - The OCR configurations available in the Scanbot SDK.
     * @deprecated
     */
    getOcrConfigs(): Promise<OcrConfigsResult>;
    /**
     * Mock camera preview by using static images as a frame source. This is useful for testing purposes.
     * @param {string} params.imageFileUri - The file uri of the image to be used as a mock camera frame.
     * @param {string} params.captureFileUri - The file uri of the image to be used as a mock captured frame. If not provided, the imageFileUri will be used. Default is ""
     * @param {boolean} params.refreshOnEachFrame - If true, the mock camera will refresh the frame on each request, simulating a live camera feed. Default is false
     * @returns {Promise<void>}
     */
    mockCamera(params: {
        imageFileUri: string;
        captureFileUri?: string;
        refreshOnEachFrame?: boolean;
    }): Promise<void>;
    /**
     * Sets a custom analytics subscriber to receive analytics events from the Scanbot SDK.
     * @param {AnalyticsSubscriber | null} subscriber - The analytics subscriber to be set.
     * @returns {Promise<void>}
     */
    setAnalyticsSubscriber(subscriber: AnalyticsSubscriber | null): Promise<void>;
    /**
     * Initializes the Scanbot SDK with the preferred configuration.
     * @param {SdkConfiguration} configuration - The SDK configuration to be used for initialization.
     * @returns {Promise<LicenseInfo>} - Returns complete information about the license used for initialization.
     */
    initialize(configuration: SdkConfiguration): Promise<LicenseInfo>;
    /**
     * Provides complete information about the current license.
     * @returns {Promise<LicenseInfo>} - Returns complete information about the current license.
     */
    getLicenseInfo(): Promise<LicenseInfo>;
    /**
     * Cleans up the storage used by the Scanbot SDK.
     * @returns {Promise<void>}
     */
    cleanupStorage(): Promise<void>;
};
