@thegrizzlylabs/react-native-genius-scan
Version:
React Native Plugin for Genius Scan SDK
79 lines (68 loc) • 1.86 kB
TypeScript
export interface ScanOptions {
source?: 'camera' | 'library' | 'image';
sourceImageUrl?: string;
multiPage?: boolean;
defaultFilter?: string;
availableFilters?: string[];
pdfPageSize?: 'fit' | 'a4' | 'letter';
postProcessingActions?: string[];
flashButtonHidden?: boolean;
defaultFlashMode?: 'auto' | 'on' | 'off';
backgroundColor?: string;
foregroundColor?: string;
highlightColor?: string;
menuColor?: string;
ocrConfiguration?: {
languages: string[];
outputFormats?: string[];
};
structuredData?: string[];
structuredDataBarcodeTypes?: string[];
jpegQuality?: number;
pdfMaxScanDimension?: number;
multiPageFormat?: 'none' | 'pdf' | 'tiff';
pdfFontFileUrl?: string;
}
export interface BarcodeConfiguration {
isBatchModeEnabled?: boolean;
supportedCodeTypes?: string[];
}
export interface Scan {
originalUrl: string;
enhancedUrl: string;
ocrResult?: {
text: string;
hocrTextLayout?: string;
};
structuredData?: any;
}
export interface ScanResult {
pdfURL?: string;
multiPageDocumentUrl?: string;
scans: Scan[];
}
export interface Barcode {
value: string;
type: string;
}
export interface BarcodeResult {
barcodes: Barcode[];
}
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<ScanResult>;
scanBarcodesWithConfiguration(configuration?: BarcodeConfiguration): Promise<BarcodeResult>;
generateDocument(document: PDFDocument, configuration: DocumentGeneratorConfiguration): Promise<void>;
setLicenseKey(licenseKey: string, autoRefresh: boolean): Promise<void>;
};
export default GeniusScan;