/** * Notification Integration * * Integration point for the notification system with NCP's main tool execution. * Shows how notifications are delivered seamlessly with AI interactions. */ import { NotificationQueue } from './NotificationQueue.js'; /** * Enhanced tool execution with notification integration */ export declare class NotificationIntegration { private static instance; private notificationQueue; private sessionManager; private authPromptManager; private constructor(); static getInstance(): NotificationIntegration; /** * Enhanced tool execution that includes notifications */ executeToolWithNotifications(tool: string, params?: any): Promise; /** * Extract MCP name from tool identifier */ private extractMCPName; /** * Check if error is authentication-related */ private isAuthError; /** * Mock tool execution (to be replaced with actual NCP tool execution) */ private executeTool; /** * Add a notification (for external use) */ addNotification(notification: Parameters[0]): void; /** * Get system statistics */ getSystemStats(): { session: { sessionId: string; sessionAge: number; timeSinceLastActivity: number; totalOperations: number; trackedMCPs: string[]; processId: number; workingDirectory: string; }; notifications: { sessionCount: number; totalNotifications: number; globalNotifications: number; averageNotificationsPerSession: number; }; auth: { activePrompts: number; cachedCredentials: number; credentialedMCPs: string[]; }; }; /** * Enable debug logging */ enableDebugLogging(): void; } /** * Simple API for external integration */ export declare class NotificationAPI { private integration; /** * Execute tool with full notification support */ execute(tool: string, params?: any): Promise; /** * Add system notification */ notify(message: string, type?: 'info' | 'warning' | 'error', mcpName?: string): void; /** * Get system status */ status(): { session: { sessionId: string; sessionAge: number; timeSinceLastActivity: number; totalOperations: number; trackedMCPs: string[]; processId: number; workingDirectory: string; }; notifications: { sessionCount: number; totalNotifications: number; globalNotifications: number; averageNotificationsPerSession: number; }; auth: { activePrompts: number; cachedCredentials: number; credentialedMCPs: string[]; }; }; /** * Enable debug output */ debug(): void; } export declare const notificationAPI: NotificationAPI; //# sourceMappingURL=NotificationIntegration.d.ts.map