import { QueuedFile, ScannedFile } from './types'; /** * Upload Queue Manager * Manages upload queue and controls concurrency */ export declare class UploadQueue { private queue; private queueHead; private activeUploads; private maxConcurrency; private paused; private requestIdCounter; constructor(maxConcurrency?: number); /** * Add files to queue */ enqueue(files: ScannedFile[], baseDir: string, priority?: 'high' | 'normal'): QueuedFile[]; /** * Get next file to upload */ dequeue(): QueuedFile | undefined; /** * Mark file as complete */ complete(requestId: number): void; /** * Pause queue */ pause(): void; /** * Resume queue */ resume(): void; /** * Clear queue */ clear(): void; /** * Get queue status */ getStatus(): { pending: number; active: number; paused: boolean; }; /** * Get active uploads */ getActiveUploads(): QueuedFile[]; /** * Get pending files */ getPendingFiles(): QueuedFile[]; /** * Generate request ID */ private generateRequestId; /** * Build upload path */ private buildUploadPath; }