/** * Session-Aware Notification Queue * * Intelligent notification delivery system that routes notifications * to the correct chat sessions using MCP session IDs and contextual relevance. */ import { Notification, NotificationConfig } from '../types/notifications.js'; export declare class NotificationQueue { private static instance; private notifications; private globalNotifications; private sessionManager; private config; private constructor(); static getInstance(config?: Partial): NotificationQueue; /** * Add a notification to the queue */ add(notification: Omit): void; /** * Add notification to a specific session */ private addToSession; /** * Add notification using contextual routing logic */ private addWithContextualRouting; /** * Get notifications for current session and clear them */ getAndClear(): Notification[]; /** * Get notifications for a specific session and clear them */ getAndClearForSession(sessionId: string): Notification[]; /** * Filter global notifications by contextual relevance to current session */ private filterGlobalNotificationsByContext; /** * Remove stale notifications */ private filterStaleNotifications; /** * Assess whether a notification should be delivered */ private assessDelivery; /** * Format notifications for display */ formatForResponse(notifications?: Notification[]): string; /** * Get icon for notification type */ private getNotificationIcon; /** * Generate unique notification ID */ private generateNotificationId; /** * Trim session notifications to prevent memory leaks */ private trimSessionNotifications; /** * Clean up old sessions and notifications */ cleanupOldSessions(): void; /** * Get queue statistics for monitoring */ getStats(): { sessionCount: number; totalNotifications: number; globalNotifications: number; averageNotificationsPerSession: number; }; } //# sourceMappingURL=NotificationQueue.d.ts.map