/** * Internal progress UI primitives shared by the console reporter. * Not part of the public package API — exported only via the relative * import inside `eval-console.ts`. Kept here (rather than in * `packages/cli/src/parallel.ts`) so the console reporter is * self-contained and the CLI no longer needs to inject UI utilities. */ export interface OutputMutex { acquire(): Promise<() => void>; } /** Async mutex. `acquire()` resolves to a release function. */ export declare function createOutputMutex(): OutputMutex; export declare class Spinner { private frameIndex; private timer; private text; private detailLines; private renderedLineCount; private readonly isTTY; private readonly stream; constructor(stream?: NodeJS.WriteStream); start(text?: string): void; update(text: string): void; setLines(lines: string[]): void; /** Temporarily clear the spinner block, run `fn`, then restore. */ suspend(fn: () => T | Promise): Promise; stop(): void; private clearRenderedBlock; private render; } export interface TableRow { index: number; name: string; trial?: string; status: string; } export declare function formatStatusTable(rows: TableRow[]): string[]; export declare function formatProgressBar(completed: number, total: number, width?: number): string; //# sourceMappingURL=progress-ui.d.ts.map