export type StepState = 'pending' | 'running' | 'ok' | 'failed' | 'skipped';
interface Step {
    name: string;
    state: StepState;
    detail?: string;
    startedAt?: number;
    endedAt?: number;
}
/**
 * Multi-step progress tracker. Renders all steps as a live grid in a TTY,
 * falls back to per-event log lines otherwise. Designed for parallel pipelines
 * like `hex analyze` where seven subcommands run together.
 */
export declare class ProgressTracker {
    private steps;
    private order;
    private renderedLines;
    private timer;
    private frame;
    private isTty;
    private active;
    constructor(stepNames: string[]);
    start(): void;
    update(name: string, state: StepState, detail?: string): void;
    finish(): void;
    /** True if any step ended in 'failed' state. */
    hasFailures(): boolean;
    /** Snapshot of every step's final state. */
    results(): Step[];
    private formatStep;
    private render;
}
export {};
//# sourceMappingURL=progress.d.ts.map