/**
 * Animated startup progress display for `markus start`.
 *
 * Displays a live ASCII progress bar + step list in the terminal while the
 * server is initialising.  Output is TTY-aware: non-interactive environments
 * fall back to simple unadorned text lines.
 *
 * Progress phases
 * ---------------
 * 0  → Boot
 * 1  → Config
 * 2  → LLM providers
 * 3  → Database
 * 4  → Services
 * 5  → Gateway
 * 6  → Ready (browser opens)
 */
export interface StartupStep {
    id: number;
    label: string;
    detail?: string;
}
export declare const STARTUP_STEPS: StartupStep[];
export declare class StartupProgress {
    private steps;
    private currentStep;
    private spinnerIdx;
    private intervalId;
    private isTty;
    private output;
    private startedAt;
    private logPath;
    constructor(logPath: string);
    start(): void;
    /** Mark the given step index as done. */
    complete(stepIdx: number, detail?: string): void;
    /** Mark the given step index as failed. */
    fail(stepIdx: number, detail?: string): void;
    /** Mark the given step index as skipped. */
    skip(stepIdx: number, detail?: string): void;
    /** Update the detail text of the currently-active step. */
    updateDetail(stepIdx: number, detail: string): void;
    /** Mark a step as active (spinner + bold label). */
    setActive(stepIdx: number): void;
    /** Stop the animation and print the final ready screen. */
    finish(url: string): void;
    private tick;
    private write;
    private writeLog;
    private render;
    private renderFinal;
    private printNonTtyBanner;
    /** Print the full step list once (used by non-TTY start). */
    private printSteps;
    /** Print a single progress line for non-TTY mode.
     *  Overwrites the current line so it stays visible but compact. */
    private printNonTtyLine;
    private printNonTtyFinal;
    private stepIcon;
}
//# sourceMappingURL=startupProgress.d.ts.map