/** * Dashboard Hub * HTTP/WebSocket server that aggregates data from all MCP sessions */ import type { SessionInfo } from './types.js'; import type { Orchestrator } from '../log-processor/orchestrator.js'; export declare class DashboardHub { private httpServer; private wsServer; private sessions; private wsClients; private mcpClients; private port; private startedAt; /** Connect a running Orchestrator so the hub can surface its processed logs. */ connectLogProcessor(_orchestrator: Orchestrator): void; /** Load custom dashboard routes from the given config dir. */ startRouteLoader(_dashboardConfigDir: string): Promise; start(startPort?: number): Promise; private startOnPort; stop(): Promise; private handleMcpClientConnection; private clientSessionKeys; private handleMcpHeartbeat; private handleMcpClientDisconnect; getPort(): number; getSessionCount(): number; private handleRequest; private handleHealth; private handleGetSessions; private handleUpdateSession; private handleDeleteSession; private handleGetProjects; private serveIndex; private serveStatic; private getIndexHtml; private readBody; private buildDashboardState; private getIssuesForProject; private sendState; private broadcastUpdate; registerSelf(cwd: string, startedAt: number, sessionId?: string, shortId?: string): void; updateSessionInfo(sessionId: string, shortId: string): void; private selfSessionKey; updateSelf(connections: SessionInfo['connections'], lastAction?: SessionInfo['lastAction'], sessionEntryCount?: number): void; updateSessionEntryCount(count: number): void; getAllPids(): number[]; getAllPpids(): number[]; } //# sourceMappingURL=dashboard-hub.d.ts.map