import { type SpinnerName, type SpinnerVariant } from "../spinners.js"; import type { TUI } from "../tui.js"; import { Text } from "./text.js"; export interface SpinnerOptions { variant?: SpinnerName | SpinnerVariant; colorFn?: (text: string) => string; message?: string; messageColorFn?: (text: string) => string; paddingX?: number; paddingY?: number; } /** * Standalone spinner that drives its own animation timer. * * Subclasses Text so it composes inside any Container that already renders Text. * Call dispose() (or removeChild on the parent) to release the timer. */ export declare class Spinner extends Text { private spinner; private colorFn; private messageColorFn; private message; private currentFrame; private intervalId; private ui; constructor(ui: TUI | null, options?: SpinnerOptions); setVariant(variant: SpinnerName | SpinnerVariant): void; setMessage(message: string): void; setColorFn(fn: (text: string) => string): void; start(): void; stop(): void; dispose(): void; private updateDisplay; } //# sourceMappingURL=spinner.d.ts.map