interface DashboardServerOptions {
    memoryDir: string;
    host?: string;
    port?: number;
    publicDir?: string;
    watchDebounceMs?: number;
}
interface DashboardStatus {
    running: boolean;
    host: string;
    port: number;
    watching: boolean;
    lastUpdatedAt?: string;
    graphNodeCount: number;
    graphEdgeCount: number;
}
declare class GraphDashboardServer {
    private readonly memoryDir;
    private readonly host;
    private readonly requestedPort;
    private readonly publicDir;
    private readonly watchDebounceMs;
    private server;
    private watcher;
    private clients;
    private graphSnapshot;
    private debounceTimer;
    private lastError;
    private boundPort;
    constructor(options: DashboardServerOptions);
    start(): Promise<DashboardStatus>;
    stop(): Promise<void>;
    status(): DashboardStatus;
    private handleHttp;
    private respondJson;
    private respondStatic;
    private handleUpgrade;
    private isAllowedOrigin;
    private broadcast;
    private startWatcher;
    private scheduleRebuild;
    private rebuildAndBroadcast;
    private rebuildSnapshot;
}

export { type DashboardServerOptions, type DashboardStatus, GraphDashboardServer };
