import { type SpinnerName, type SpinnerVariant } from "../spinners.js"; import type { TUI } from "../tui.js"; import { Text } from "./text.js"; /** * Loader component that updates with a spinning animation. * * Uses the shared spinners library (`SPINNERS.breathe` by default). Pass * `variant: "scan" | "helix" | ...` to swap the frame set. */ export declare class Loader extends Text { private spinnerColorFn; private messageColorFn; private message; private showElapsed; private spinner; private currentFrame; private intervalId; private ui; private readonly startTime; constructor(ui: TUI, spinnerColorFn: (str: string) => string, messageColorFn: (str: string) => string, message?: string, variant?: SpinnerName | SpinnerVariant, showElapsed?: boolean); render(width: number): string[]; start(): void; stop(): void; setMessage(message: string): void; setVariant(variant: SpinnerName | SpinnerVariant): void; private updateDisplay; } //# sourceMappingURL=loader.d.ts.map