/** * Event Queue for ConversionIQ SDK * Handles batching, persistence, and intelligent retry logic for events */ import { ConversionIQConfig } from '../types/index'; import { NetworkManager } from './NetworkManager'; export declare class EventQueue { private config; private networkManager; private queue; private isProcessing; private processingInterval; private persistenceKey; private readonly maxQueueSize; private readonly maxRetries; private readonly retentionHours; constructor(config: ConversionIQConfig, networkManager: NetworkManager); /** * Enqueue an event for processing */ enqueue(payload: any, priority?: 'low' | 'normal' | 'high'): Promise; /** * Flush all events immediately */ flush(): Promise; /** * Get queue statistics */ getStats(): { queueSize: number; isProcessing: boolean; highPriorityCount: number; failedEventCount: number; }; /** * Start periodic queue processing */ private startProcessing; /** * Process the event queue */ private processQueue; /** * Handle failed events - add back to queue with retry logic */ private handleFailedEvents; /** * Handle a single failed event */ private handleFailedEvent; /** * Sort queue by priority and retry time */ private sortQueue; /** * Load persisted events from storage */ private loadPersistedEvents; /** * Persist queue to storage */ private persistQueue; /** * Clear persisted queue */ private clearPersistedQueue; /** * Setup page unload handler for final flush */ private setupUnloadHandler; /** * Chunk array into smaller batches */ private chunkArray; /** * Generate unique event ID */ private generateEventId; /** * Clean up and stop processing */ destroy(): void; } //# sourceMappingURL=EventQueue.d.ts.map