/** * Spinner - a minimal terminal progress animation (the "turning thing"). * * On an interactive terminal (TTY) it renders an animated spinner that updates * in place. On a non-TTY stream (pipe, file, CI logs) it degrades gracefully: * the animation is skipped and only the final status line is emitted, so piped * output stays clean. */ /** Animation frames, cycled in order. A classic rotating braille spinner. */ export declare const SPINNER_FRAMES: string[]; /** Delay between frames, in milliseconds. */ export declare const SPINNER_INTERVAL_MS = 80; export declare class Spinner { private frameIndex; private timer; private text; private readonly stream; private readonly isTTY; constructor(stream?: NodeJS.WriteStream); /** The glyph for the current animation frame. */ get frame(): string; /** Whether the spinner is currently animating. */ get isSpinning(): boolean; /** Start the animation with the given label. */ start(text: string): this; /** Update the spinner label without interrupting the animation. */ setText(text: string): this; /** Stop the animation, leaving the line cleared. */ stop(): this; /** Stop the animation with a success mark and final message. */ succeed(text?: string): this; /** Stop the animation with a failure mark and final message. */ fail(text?: string): this; private finish; private render; private stopTimer; } //# sourceMappingURL=spinner.d.ts.map