interface DashboardApiOptions { port?: number; token?: string; } interface LiveMetricsSnapshot { timestamp: string; uptime: number; cpuUsagePercent: number; memoryHeapUsedMB: number; memoryRssMB: number; eventLoopDelayMs: number; interactionsTotal: number; interactionsPerSec: number; commandsTotal: number; commandsPerSec: number; eventsTotal: number; errorsTotal: number; errorsPerSec: number; avgCommandDurationMs: number; p95CommandDurationMs: number; gatewayPingMs: number; gatewayStatus: 'connected' | 'disconnected' | 'unknown'; cacheHitRatio: number; activeTraces: number; } interface CommandMetric { name: string; executions: number; avgMs: number; p95Ms: number; errors: number; } interface LogEntry { timestamp: string; level: 'debug' | 'info' | 'warn' | 'error' | 'fatal'; message: string; data?: Record; } declare class MetricsRegistry { private metrics; private commands; private logs; private wsClients; private defaultMetrics; /** Called by ObservabilityProvider to update live metrics */ pushMetrics(metrics: Partial): void; /** Called by command handlers to record command stats */ recordCommand(name: string, durationMs: number, isError?: boolean): void; /** Add a log entry (ring buffer, max 500) */ addLog(entry: LogEntry): void; getMetrics(): LiveMetricsSnapshot; getCommands(): CommandMetric[]; getLogs(limit?: number): LogEntry[]; addWsClient(client: any): void; removeWsClient(client: any): void; private broadcastToWs; } /** Global metrics registry — providers push data here */ declare const metricsRegistry: MetricsRegistry; declare class DashboardApiServer { private server; private token; private wsServer; private startTime; constructor(options?: DashboardApiOptions); private timingSafeEqual; private registerEndpoints; private renderMinimalDashboard; start(): Promise; stop(): Promise; } export { type CommandMetric, type DashboardApiOptions, DashboardApiServer, type LiveMetricsSnapshot, type LogEntry, metricsRegistry };