/** * SelfTestApp — Ink-rendered live view for `vigil --self-test`. * * Replaces the hand-rolled \x1b[…m escape codes in src/bin/selfTest.ts. * Subscribes to a TestEventBus the runner mutates as each test * starts/finishes, so the row flips spinner → ✓/✗ live. */ import React from 'react'; import { EventEmitter } from 'node:events'; export interface SelfTestRowState { name: string; phase: string; status: 'pending' | 'pass' | 'fail'; durationMs?: number; error?: string; } export interface SelfTestSummary { total: number; passed: number; failed: number; durationMs: number; } export declare class SelfTestEventBus extends EventEmitter { emitPhase(phase: string): void; emitRow(row: SelfTestRowState): void; emitSummary(summary: SelfTestSummary): void; } export declare function SelfTestApp({ bus }: { bus: SelfTestEventBus; }): React.JSX.Element; //# sourceMappingURL=SelfTestApp.d.ts.map