/** * Dashboard Server - HTTP-based real-time dashboard * Serves HTML dashboard with Server-Sent Events for updates */ import type { DashboardConfig, DashboardState, DashboardEvent } from './types.js'; import type { EvidenceVault } from '../vault/index.js'; export declare class DashboardServer { private config; private server?; private clients; private state; private eventHistory; private vault?; private currentRunId?; constructor(config: DashboardConfig); /** * Set the vault for flakiness data access */ setVault(vault: EvidenceVault): void; /** * Set the current run ID for flakiness tracking */ setRunId(runId: string): void; /** * Update flakiness data from vault */ updateFlakinessData(): Promise; /** * Start the dashboard server */ start(): Promise; /** * Stop the dashboard server */ stop(): Promise; /** * Emit an event (called during test execution) */ emit(event: DashboardEvent): Promise; /** * Set gates for the run */ setGates(gateNames: string[]): void; /** * Update a specific gate's state */ private updateGate; /** * Update overall progress */ private updateProgress; /** * Broadcast state to all connected clients */ private broadcast; /** * Handle HTTP requests */ private handleRequest; /** * Open browser automatically */ private openBrowser; /** * Get current state */ getState(): Readonly; /** * Get event history */ getEvents(): ReadonlyArray; }