import { EventEmitter } from 'events'; import { AgentRegistry } from './AgentRegistry'; import { WebSocketServer } from './WebSocketServer'; import { RouterConfig } from '../types'; /** * Core routing engine for Inter-Agent Protocol (I.A.P.) messages * Handles message reception, agent selection, and error management */ export declare class Router extends EventEmitter { private wsServer; private agentRegistry; private config; private pendingTasks; private taskTimeouts; constructor(wsServer: WebSocketServer, agentRegistry: AgentRegistry, config: RouterConfig); /** * Setup event handlers for WebSocket server */ private setupEventHandlers; /** * Handle incoming I.A.P. message */ private handleMessage; /** * Handle agent handshake (registration) */ private handleHandshake; /** * Handle task request from agent or external source */ private handleTaskRequest; /** * Handle task response from agent */ private handleTaskResponse; /** * Handle capability query */ private handleCapabilityQuery; /** * Handle heartbeat message */ private handleHeartbeat; /** * Handle error message from agent */ private handleErrorMessage; /** * Select best agent for a task */ private selectAgent; /** * Handle agent disconnection */ private handleAgentDisconnection; /** * Handle task failure */ private handleTaskFailure; /** * Retry a failed task */ private retryTask; /** * Set timeout for a task */ private setTaskTimeout; /** * Clear timeout for a task */ private clearTaskTimeout; /** * Send error message to connection */ private sendError; /** * Validate I.A.P. message structure */ private validateMessage; /** * Generate unique message ID */ private generateMessageId; /** * Get router statistics */ getStats(): { pendingTasks: number; agentStats: { totalAgents: number; onlineAgents: number; offlineAgents: number; totalCapabilities: number; totalTasksInProgress: number; totalTasksCompleted: number; totalTasksFailed: number; }; connectionStats: import("../types").ConnectionStats; }; /** * Stop the router */ stop(): void; } //# sourceMappingURL=router.d.ts.map