/** * Parallel Processor - Process multiple files in parallel using worker threads */ /** * Task to be processed */ export interface ProcessTask { id: string; type: string; data: T; } /** * Task result */ export interface TaskResult { id: string; success: boolean; result?: R; error?: string; duration: number; } /** * Worker pool configuration */ export interface WorkerPoolConfig { maxWorkers?: number; workerScript?: string; timeout?: number; } /** * Parallel Processor class */ export declare class ParallelProcessor { private workers; private taskQueue; private config; private initialized; constructor(config?: WorkerPoolConfig); /** * Initialize worker pool */ initialize(): Promise; /** * Create a worker */ private createWorker; /** * Handle worker message */ private handleWorkerMessage; /** * Handle worker error */ private handleWorkerError; /** * Remove worker from pool */ private removeWorker; /** * Process a task * @param task - Task to process * @returns Task result */ process(task: ProcessTask): Promise>; /** * Process multiple tasks in parallel * @param tasks - Array of tasks * @returns Array of results */ processMany(tasks: ProcessTask[]): Promise[]>; /** * Process next task in queue */ private processNextTask; /** * Get worker pool statistics */ getStats(): { totalWorkers: number; busyWorkers: number; availableWorkers: number; queuedTasks: number; }; /** * Shutdown worker pool */ shutdown(): Promise; /** * Check if initialized */ isInitialized(): boolean; } /** * Get global processor instance * @param config - Worker pool configuration * @returns Global processor instance */ export declare function getParallelProcessor(config?: WorkerPoolConfig): ParallelProcessor; /** * Reset global processor instance */ export declare function resetParallelProcessor(): Promise;