/** * Persistent status line spinner. * * Shows an animated spinner on the last line of the terminal. * Regular output scrolls above it. Intercepts both stdout and stderr * writes to clear and redraw the spinner around each write. */ interface StatusLineOptions { readonly renderImmediately?: boolean; readonly dim?: boolean; readonly intervalMs?: number; readonly truncate?: boolean; } declare class StatusLineImpl { private active; private message; private frame; private intervalId?; private rawStdoutWrite?; private savedStdoutWrite?; private savedStderrWrite?; private rendering; private spinnerRendered; private outputLineOpen; private options; private suspendedStatus?; private suspendDepth; /** Progress feedback must not corrupt streamed text or leak into redirected output. */ start(message: string, options?: StatusLineOptions): void; update(message: string): void; /** Readline can erase an unfinished body when its prompt begins on that body's line. */ suspend(): void; /** Nested prompt helpers may still own the terminal when an inner helper finishes. */ resume(): void; /** Later tasks must not inherit terminal ownership or pending progress from an earlier task. */ stop(): void; /** Timer ticks can occur between text chunks, where a carriage return would overwrite user text. */ private render; /** A newline-free body may occupy the final line even after task completion. */ private clearSpinner; } export declare const statusLine: StatusLineImpl; export {}; //# sourceMappingURL=StatusLine.d.ts.map