/** * Queue Factory for Easy Queue Creation * * Provides factory methods for creating different types of queues * with optimized configurations. */ import { QueueSystem } from './QueueSystem'; import type { QueueConfig } from '@plyaz/types/api'; /** * Factory for creating queue instances */ export declare class QueueFactory { private static queues; private static defaultStrategy; /** * Set default strategy for all new queues * Used primarily for testing to avoid async processing */ static setDefaultStrategy(strategy: 'immediate' | 'batch' | 'throttle' | 'debounce'): void; /** * Create or get a singleton queue */ static getQueue(name: string, config?: Partial): QueueSystem; /** * Create a high-performance event queue */ static createEventQueue(name: string): QueueSystem; /** * Create a tracking queue for analytics */ static createTrackingQueue(name: string): QueueSystem; /** * Create a real-time queue for immediate processing */ static createRealtimeQueue(name: string): QueueSystem; /** * Create a throttled queue for rate limiting */ static createThrottledQueue(name: string, ratePerSecond: number): QueueSystem; /** * Create a debounced queue for reducing noise */ static createDebouncedQueue(name: string, delay: number): QueueSystem; /** * Destroy a singleton queue */ static destroyQueue(name: string): void; /** * Destroy all singleton queues */ static destroyAll(): void; /** * Get statistics for all queues */ static getAllStats(): Record>; } //# sourceMappingURL=QueueFactory.d.ts.map