/** * Định nghĩa các loại dữ liệu cho ExtractPdfNode * @author AI Assistant * @version 1.0.0 */ /// export interface Logger { log: (message: string) => void; warn: (message: string) => void; error: (message: string) => void; debug?: (message: string) => void; } export interface LanguageDetectionResult { language: string; confidence: number; } export interface ImageEnhancementOptions { contrast?: number; brightness?: number; sharpness?: number; denoise?: boolean; format?: string; } export interface OcrOptions { language?: string; useParallel?: boolean; maxWorkers?: number; useCache?: boolean; enhanceImage?: boolean; autoDetect?: boolean; verbose?: boolean; dpi?: number; scale?: number; timeout?: number; pagesPerBatch?: number; } export interface OcrResult { text: string; pageCount: number; processedPages: number[]; language: string; hasMultipleLanguages: boolean; languageStats: Array<{ language: string; confidence: number; }>; performance: { totalProcessingTime: number; pagesPerSecond: number; startTime: number; endTime: number; }; } export interface WorkerData { imageBuffer: Buffer; options: OcrOptions; type: string; } export interface CacheOptions { stdTTL: number; checkperiod: number; useClones: boolean; deleteOnExpire?: boolean; maxKeys?: number; }