/** * Priority queue for indexing tasks */ import type { IndexingTask } from './types.js'; /** * Priority-based indexing queue */ export declare class IndexingQueue { private queue; private processing; private maxRetries; constructor(maxRetries?: number); /** * Add task to queue */ add(file: string, priority?: number, reason?: IndexingTask['reason']): void; /** * Add multiple tasks */ addBatch(files: string[], priority?: number, reason?: IndexingTask['reason']): void; /** * Get next task from queue */ next(): IndexingTask | null; /** * Get multiple tasks for batch processing */ nextBatch(count: number): IndexingTask[]; /** * Mark task as completed */ complete(file: string): void; /** * Mark task as failed and retry or remove */ fail(file: string, error: string): void; /** * Remove task from queue */ remove(file: string): boolean; /** * Check if file is in queue or processing */ has(file: string): boolean; /** * Check if file is currently being processed */ isProcessing(file: string): boolean; /** * Get queue size */ size(): number; /** * Get number of files being processed */ processingCount(): number; /** * Get all files in queue */ getFiles(): string[]; /** * Clear queue */ clear(): void; /** * Sort queue by priority (highest first) */ private sortQueue; /** * Get queue statistics */ getStats(): { queueSize: number; processing: number; retrying: number; byReason: Record; }; } //# sourceMappingURL=indexing-queue.d.ts.map