/** * Base Queue Manager * * Abstract base class for all queue managers providing common functionality * and enforcing singleton pattern. */ import { QueueSystem } from './QueueSystem'; import type { QueueConfig, QueueStats, QueueOperation } from '@plyaz/types/api'; import { EventEmitter } from 'events'; /** * Base class for queue managers */ export declare abstract class BaseQueueManager extends EventEmitter { protected queue: QueueSystem; protected config: QueueConfig; protected constructor(config: QueueConfig); /** * Enqueue an operation */ enqueue(operation: T): Promise; /** * Dequeue the next operation */ dequeue(): T | null; /** * Get queue size */ size(): number; /** * Get all operations (for stats/debugging) */ getAllOperations(): T[]; /** * Get queue statistics */ getStats(): QueueStats; /** * Reset the queue */ reset(): void; /** * Destroy the queue */ destroy(): void; /** * Abstract method to create queue operation from input */ protected abstract createQueueOperation(operation: T): QueueOperation; /** * Abstract method to process operations */ protected abstract processOperation(operation: T): Promise; } //# sourceMappingURL=BaseQueueManager.d.ts.map