import type { TUI } from "../tui"; import { Text } from "./text"; /** * Compatibility options for existing loader call sites. * * @deprecated `timeDependentColor` preserves the historical smooth-animation * contract: direct local terminals reevaluate colorizers at 60 fps, while * remote or multiplexed terminals stay on the shared 80 ms cadence to avoid * output churn. The field remains accepted for downstream callers while they * migrate to an explicit animation policy. */ export interface LoaderOptions { timeDependentColor?: boolean; /** Request a layout-only repaint when the loader is outside the transcript anchor. */ renderScope?: "full" | "layout"; } /** Test-only performance counters for advisory baseline tests. */ export declare const __loaderPerfCounters: { liveIntervals: number; startedIntervals: number; callbackInvocations: number; renderRequests: number; reset(): void; }; export declare class Loader extends Text { #private; private spinnerColorFn; private messageColorFn; private message; private options; constructor(ui: TUI, spinnerColorFn: (str: string) => string, messageColorFn: (str: string) => string, message?: string, spinnerFrames?: string[], options?: LoaderOptions); render(width: number): string[]; start(): void; stop(): void; dispose(): void; setMessage(message: string): void; }