export interface QueuedMessage { id: string; levelId: number; levelType: string; recipient: string; message: string; type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE'; priority: 'high' | 'medium' | 'low'; scheduledFor?: Date; metadata?: any; createdAt: Date; retryCount: number; maxRetries: number; } export declare class IntegrationQueueService { private readonly logger; private queue; private processing; constructor(); queueMessage(levelId: number, levelType: string, recipient: string, message: string, type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE', priority?: 'high' | 'medium' | 'low', scheduledFor?: Date, metadata?: any): Promise; queueBulkMessages(levelId: number, levelType: string, recipients: string[], message: string, type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE', priority?: 'high' | 'medium' | 'low', metadata?: any): Promise; getQueueStats(): { total: number; pending: number; scheduled: number; byPriority: { high: number; medium: number; low: number; }; processing: boolean; }; private processQueue; private sortQueue; private generateMessageId; isQueueEmpty(): boolean; getQueueLength(): number; clearQueue(): void; cancelMessage(messageId: string): boolean; }