/** * CLI progress reporting — animated spinner, step tracking. * * Drives Composer/Yarn-style step output with a live spinner * that cycles while a step is running, so the user always sees * movement and knows the CLI hasn't frozen. * * @module */ /** @internal */ export type StepStatus = 'pending' | 'running' | 'done' | 'failed'; /** @internal */ export interface ProgressStep { readonly id: string; readonly label: string; readonly status: StepStatus; readonly detail?: string; readonly durationMs?: number; } /** @internal */ export type ProgressReporter = (step: ProgressStep) => void; /** @internal exported for testing */ export declare function createDefaultReporter(): ProgressReporter; /** @internal exported for testing */ export declare class ProgressTracker { private readonly reporter; private startTimes; constructor(reporter?: ProgressReporter); start(id: string, label: string): void; done(id: string, label: string, detail?: string): void; fail(id: string, label: string, detail?: string): void; private elapsed; } //# sourceMappingURL=progress.d.ts.map