export type ScanOrientation = 'automatic' | 'original'; export type CurvatureCorrectionMode = 'enabled' | 'disabled'; export type ReadabilityLevel = 'lowest' | 'low' | 'medium' | 'high' | 'highest'; export type CropConfidenceLevel = 'lowest' | 'low' | 'medium' | 'high' | 'highest'; export type CropValidation = | 'never' | 'always' | { whenConfidenceBelowOrEqual: CropConfidenceLevel; }; export interface ScanOptions { source?: 'camera' | 'library' | 'image'; sourceImageUrl?: string; multiPage?: boolean; defaultFilter?: string; availableFilters?: string[]; pdfPageSize?: 'fit' | 'a4' | 'letter'; skipPostProcessingScreen?: boolean; postProcessingActions?: string[]; defaultCurvatureCorrection?: CurvatureCorrectionMode; defaultScanOrientation?: ScanOrientation; photoLibraryButtonHidden?: boolean; flashButtonHidden?: boolean; defaultFlashMode?: 'auto' | 'on' | 'off'; backgroundColor?: string; foregroundColor?: string; highlightColor?: string; menuColor?: string; ocrConfiguration?: { languages: string[]; outputFormats?: string[]; }; structuredData?: string[]; structuredDataBarcodeTypes?: string[]; requiredReadabilityLevel?: ReadabilityLevel; showCropValidation?: CropValidation; jpegQuality?: number; pdfMaxScanDimension?: number; multiPageFormat?: 'none' | 'pdf' | 'tiff'; pdfPassword?: string; pdfFontFileUrl?: string; showFinalReview?: boolean; } export interface BarcodeConfiguration { isBatchModeEnabled?: boolean; supportedCodeTypes?: string[]; } export interface Scan { originalUrl: string; enhancedUrl: string; ocrResult?: { text: string; hocrTextLayout?: string; }; structuredData?: any; } export interface ScanResult { multiPageDocumentUrl?: string; scans: Scan[]; } export interface Barcode { value: string; type: string; } export interface BarcodeResult { barcodes: Barcode[]; } export type GeniusScanErrorCode = | 'cancellation_error' | 'configuration_error' | 'licensing_error' | 'capture_error' | 'storage_space_error' | 'internal_error'; export interface GeniusScanError { code: GeniusScanErrorCode; message: string; recovery_message: string; underlying_error: string; } export interface DocumentGeneratorConfiguration { outputFileUrl: string; pdfFontFileUrl?: string; } export interface PDFPage { imageUrl: string; hocrTextLayout?: string; } export interface PDFDocument { pages: PDFPage[]; } declare const GeniusScan: { scanWithConfiguration(options?: ScanOptions): Promise; scanBarcodesWithConfiguration(configuration?: BarcodeConfiguration): Promise; generateDocument(document: PDFDocument, configuration: DocumentGeneratorConfiguration): Promise; setLicenseKey(licenseKey: string, autoRefresh: boolean): Promise; }; export default GeniusScan;