import type { Redis } from 'ioredis'; import type { ILogger } from '@omnitron-dev/titan/types'; export interface DLQCleanupConfig { enabled?: boolean; maxAge?: number; maxSize?: number; cleanupInterval?: number; batchSize?: number; archiveBeforeDelete?: boolean; archivePrefix?: string; } export interface DLQMessageInfo { id: string; channel: string; payload: any; error?: string; timestamp: number; attempt: number; age: number; } export interface DLQStats { totalMessages: number; messagesByChannel: Record; oldestMessage?: number; newestMessage?: number; messagesCleanedUp: number; messagesArchived: number; } export declare class DLQManager { private redis; private logger; private config; private cleanupTimer?; private stats; private dlqKey; constructor(redis: Redis, logger: ILogger, config?: DLQCleanupConfig, dlqKey?: string); startAutoCleanup(): void; stopAutoCleanup(): void; cleanup(): Promise; private archiveMessages; private enforceMaxSize; getStats(): Promise; getMessages(options?: { channel?: string; limit?: number; offset?: number; maxAge?: number; }): Promise; clear(): Promise; getConfig(): DLQCleanupConfig; updateConfig(config: Partial): void; } //# sourceMappingURL=dlq-manager.d.ts.map