export type StageStatus = 'aborted' | 'async' | 'completed' | 'current' | 'failed' | 'paused' | 'pending' | 'skipped' | 'warning';
export declare class StageTracker {
    private stages;
    current: string[];
    private allowParallelTasks;
    private map;
    private markers;
    constructor(stages: readonly string[] | string[], opts?: {
        allowParallelTasks?: boolean;
    });
    get size(): number;
    entries(): IterableIterator<[string, StageStatus]>;
    get(stage: string): StageStatus | undefined;
    indexOf(stage: string): number;
    refresh(nextStage: string, opts?: {
        finalStatus?: StageStatus;
        bypassStatus?: StageStatus;
    }): void;
    set(stage: string, status: StageStatus): void;
    stop(currentStage: string, finalStatus: StageStatus): void;
    update(stage: string, status: StageStatus): void;
    values(): IterableIterator<StageStatus>;
    private stopStage;
}
