import { SecurityConfig } from '../types.js'; export declare function _resetMultiServerWarningsForTests(): void; export interface MultiDashboardOptions { autoOpen?: boolean; port?: number; bindAddress?: string; allowExternalAccess?: boolean; security?: Partial; } export declare class MultiProjectDashboardServer { private app; private projectManager; private jobScheduler; private adversarialRunner; private taskReviewRunner; private sessionManager; private options; private bindAddress; private allowExternalAccess; private securityConfig; private rateLimiter?; private auditLogger?; private actualPort; private clients; private packageVersion; private heartbeatInterval?; private readonly HEARTBEAT_INTERVAL_MS; private readonly HEARTBEAT_TIMEOUT_MS; private pendingSpecBroadcasts; private readonly SPEC_BROADCAST_DEBOUNCE_MS; constructor(options?: MultiDashboardOptions); start(): Promise; private setupProjectManagerEvents; /** * Assemble the deferrals view: deferred decisions from the deferral store plus * whole specs marked deferred. Shared by the REST route and the WebSocket * broadcast so both always return the same shape. */ private buildDeferralsPayload; private registerApiRoutes; private broadcastToAll; private broadcastToProject; private scheduleConnectionCleanup; private startHeartbeat; private stopHeartbeat; private broadcastTaskUpdate; private broadcastImplementationLogUpdate; stop(): Promise; getUrl(): string; } //# sourceMappingURL=multi-server.d.ts.map