/** * Queue Manager - Offline queue with localStorage persistence */ import { BaseEvent } from '../types'; import { Logger } from '../utils/logger'; interface QueuedBatch { id: string; events: BaseEvent[]; timestamp: number; attempts: number; } export declare class QueueManager { private queue; private maxQueueSize; private persistToStorage; private storageKey; private logger; constructor(maxQueueSize: number | undefined, persistToStorage: boolean | undefined, logger: Logger); /** * Enqueue a batch of events */ enqueue(events: BaseEvent[]): string; /** * Dequeue next batch */ dequeue(): QueuedBatch | null; /** * Peek at next batch without removing */ peek(): QueuedBatch | null; /** * Re-queue a batch (for retry) */ requeue(batch: QueuedBatch): void; /** * Remove a specific batch by ID */ remove(batchId: string): void; /** * Get queue size */ getSize(): number; /** * Get total event count in queue */ getEventCount(): number; /** * Clear entire queue */ clear(): void; /** * Save queue to localStorage */ private saveToStorage; /** * Load queue from localStorage */ private loadFromStorage; /** * Generate unique batch ID */ private generateId; } export {}; //# sourceMappingURL=QueueManager.d.ts.map