/** * animation — FPS-independent tweens (they use real dt), easing, and a keyed * clock that survives a re-render. The basis of spinner/progress/fade/typing/pulse. */ export type Easing = (t: number) => number; export declare const Easing: { readonly linear: Easing; readonly easeIn: Easing; readonly easeOut: Easing; readonly easeInOut: Easing; readonly spring: Easing; }; export interface TweenOptions { readonly from: number; readonly to: number; readonly duration: number; readonly easing?: Easing; readonly loop?: boolean | 'pingpong'; } export interface Tween { readonly value: number; readonly done: boolean; update(dtMs: number): void; reset(): void; } export declare function tween(options: TweenOptions): Tween; export interface AnimationClock { register(key: string, tween: Tween): void; has(key: string): boolean; phase(key: string): number; remove(key: string): void; tick(dtMs: number): void; readonly active: boolean; } export declare function createAnimationClock(): AnimationClock; /** Frames de spinner nomeados (dots, line, arc, bounce, pulse). */ export declare const spinnerFrames: Readonly>; //# sourceMappingURL=index.d.ts.map