import { Orchestrator } from '../brain/orchestrator.js'; export interface DashboardOptions { port?: number; host?: string; openBrowser?: boolean; } export declare class DashboardServer { private server; private wss; private clients; private orchestrator; private options; private brainBusUnsub; private brainWatcher; private brainDbPath; private seenEntryIds; private brainFileDebounce; constructor(orchestrator: Orchestrator, options?: DashboardOptions); /** Forward every realtime brain-bus event straight to all WebSocket clients. */ private subscribeToBrainBus; /** * Cross-process realtime: an agent in another terminal writes to the shared * ~/.shadow-brain/global.json. That write lands in a different process's * GlobalBrain instance, so the in-process bus never sees it. We watch the * file and republish any entry id we have not already broadcast. The bus * dedups by composite id, so our own in-process memory-writes are ignored. */ private startBrainFileWatcher; private primeSeenEntryIds; /** Re-read the on-disk brain and publish any entries we haven't seen. */ private scanBrainFile; private toEpoch; private handleRequest; private handleV6Request; /** Aggregate recent activity from all v6 modules into a single unified stream. */ private collectActivityLog; private readJsonBody; private getModulesData; private getMemoryData; private getRuntimeContext; private getToolsData; private getTimelineData; private getFirewallDemo; private getDefaultWorkflowProjectDir; private pathExists; private getWorkflowAgentStatus; private getWorkflowWarnings; private setupWebSocket; private subscribeToOrchestrator; private send; private broadcast; start(): Promise; stop(): Promise; get port(): number; } //# sourceMappingURL=server.d.ts.map