import { type Component, type LoaderIndicatorOptions, type TUI } from "@earendil-works/pi-tui"; /** Atomic's literal one-cell identity follows the approved ten-step luminance ramp. */ export declare const ATOMIC_WORKING_FRAMES: readonly ["∀", "∀", "∀", "∀", "∀", "∀", "∀", "∀", "∀", "∀"]; export declare const ATOMIC_WORKING_BOLD_PHASES: readonly [false, false, false, false, true, true, true, false, false, false]; export declare const ATOMIC_WORKING_FRAME_MS = 88; export interface AtomicWorkingPalette { dark: string; lift: string; muted: string; accent: string; bright: string; peak: string; } export type AtomicWorkingTone = keyof AtomicWorkingPalette; export declare const ATOMIC_WORKING_PHASES: readonly AtomicWorkingTone[]; export interface AtomicWorkingStatusOptions { frame?: number; message?: string; palette?: AtomicWorkingPalette | (() => AtomicWorkingPalette); spinnerColor?: (text: string) => string; spinnerBoldColor?: (text: string) => string; messageColor?: (text: string) => string; } export declare class AtomicWorkingStatusComponent implements Component { private readonly options; constructor(options?: AtomicWorkingStatusOptions); render(width: number): string[]; invalidate(): void; } /** Loader-compatible ordinary working surface. Explicit extension indicators delegate to pi-tui unchanged. */ export declare class AtomicWorkingLoader implements Component { private readonly ui; private readonly spinnerColor; private readonly messageColor; private message; private frame; private timer; private delegateGeneration; private indicator; private delegate; constructor(ui: TUI, spinnerColor: ((text: string) => string) | undefined, messageColor: (text: string) => string, message?: string, indicator?: LoaderIndicatorOptions); render(width: number): string[]; private sanitizeBorderLine; private renderSingleBorderLine; renderInBorder(width: number): string; renderSpinnerInBorder(width: number): string; start(): void; stop(): void; setMessage(message: string): void; setIndicator(indicator?: LoaderIndicatorOptions): void; private createDelegate; invalidate(): void; resetForTurn(message: string): void; } export declare function atomicWorkingFrame(now?: number): number; //# sourceMappingURL=atomic-working-status.d.ts.map