import type { Disposable } from "@goldenratio/core-utils"; declare const easing: { readonly linear: (t: number) => number; readonly easeInQuad: (t: number) => number; readonly easeOutQuad: (t: number) => number; readonly easeInOutQuad: (t: number) => number; readonly easeInCubic: (t: number) => number; readonly easeOutCubic: (t: number) => number; readonly easeInOutCubic: (t: number) => number; readonly easeOutBounce: (t: number) => number; }; export type EasingType = keyof typeof easing; export type EasingFn = (t: number) => number; export declare class Tween implements Disposable { private elapsed_ms_state; private completed_state; private delta_time; constructor(); dispose(): void; /** * set delta time * @param {number} delta_time - Scalar representing the delta time factor (value is between 0 to 1) */ set_delta_time(delta_time: number): void; /** * Computes an interpolated value between `from` and `to` using an easing function. * This should typically be called once per frame. * * @param {symbol} owner - Unique identifier that will own this tween * @param {number} from - Start value * @param {number} to - End value * @param {EasingType | EasingFn} type - Easing name * @param {number} duration_ms - Total time in milliseconds * @param {number} [delay_ms=0] - Time to wait before starting interpolation */ to(owner: symbol, from: number, to: number, type: EasingType | EasingFn, duration_ms: number, delay_ms?: number): number; /** * Clears the tween state for the given owner. * Call this when you want to restart the animation from the beginning. * * @param {symbol} owner - The animation owner whose state should be reset. */ clear(owner: symbol): void; /** * Tells if tween animation is finished or not */ is_completed(owner: symbol): boolean; } export {};