import { SecurityConfig } from '../types.js';
export interface MultiDashboardOptions {
    autoOpen?: boolean;
    port?: number;
    bindAddress?: string;
    allowExternalAccess?: boolean;
    security?: Partial<SecurityConfig>;
}
export declare class MultiProjectDashboardServer {
    private app;
    private projectManager;
    private jobScheduler;
    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<string>;
    private setupProjectManagerEvents;
    private registerApiRoutes;
    private broadcastToAll;
    private broadcastToProject;
    private scheduleConnectionCleanup;
    private startHeartbeat;
    private stopHeartbeat;
    private broadcastTaskUpdate;
    private broadcastImplementationLogUpdate;
    stop(): Promise<void>;
    getUrl(): string;
}
//# sourceMappingURL=multi-server.d.ts.map