import { IndexedDBService, IQueueOperation } from './IndexedDBService'; /** * Operation Queue Manager * Handles FIFO queue of pending sync operations */ export declare class OperationQueue { private indexedDB; constructor(indexedDB: IndexedDBService); /** * Add operation to the end of the queue */ enqueue(operation: Omit): Promise; /** * Get the first operation from the queue (without removing it) * Returns null if queue is empty */ peek(): Promise; /** * Get all operations in the queue (sorted by timestamp FIFO) */ getAll(): Promise; /** * Remove a specific operation from the queue */ remove(operationId: string): Promise; /** * Remove the first operation from the queue and return it * Returns null if queue is empty */ dequeue(): Promise; /** * Clear all operations from the queue */ clear(): Promise; /** * Get the number of operations in the queue */ size(): Promise; /** * Check if queue is empty */ isEmpty(): Promise; /** * Get operations for a specific event ID */ getOperationsForEvent(eventId: string): Promise; /** * Remove all operations for a specific event ID */ removeOperationsForEvent(eventId: string): Promise; /** * Update retry count for an operation */ incrementRetryCount(operationId: string): Promise; }