/** * High-Performance Queue System * * Main queue implementation with support for multiple processing strategies * and performance optimization. */ import type { QueueConfig, QueueOperation, QueueProcessor, BatchQueueProcessor, QueueStats } from '@plyaz/types/api'; /** * Main queue system implementation */ export declare class QueueSystem { private readonly config; private queue; private processor?; private isReady; private batchProcessor?; private throttleTimer?; private debounceTimer?; private processedCount; private failedCount; private totalProcessingTime; private lastProcessTime; private enqueuedCount; constructor(config: QueueConfig); /** * Initialize configuration with defaults */ private initializeConfig; /** * Initialize queue based on priority setting */ private initializeQueue; /** * Initialize batch processor if needed */ private initializeBatchProcessor; /** * Add operation to the queue */ add(operation: Omit, 'id' | 'timestamp'>): void; /** * Set the processor and mark queue as ready */ setProcessor(processor: QueueProcessor | BatchQueueProcessor): void; /** * Enqueue operation with size management */ private enqueue; /** * Process operation based on strategy */ private processOperation; /** * Process immediately */ private processImmediate; /** * Process with throttling */ private processThrottled; /** * Process with debouncing */ private processDebounced; /** * Process batch of operations */ private processBatch; /** * Process all queued operations */ private processQueued; /** * Drain all operations from queue */ private drainQueue; /** * Record successful processing */ private recordSuccess; /** * Record failed processing */ private recordFailure; /** * Generate unique ID */ private generateId; /** * Get queue statistics */ getStats(): QueueStats; /** * Reset the queue */ reset(): void; /** * Destroy the queue */ destroy(): void; } //# sourceMappingURL=QueueSystem.d.ts.map