export interface TweenConfig { duration: number; easing?: (t: number) => number; } export interface SpringConfig { stiffness: number; damping: number; } export interface FollowConfig { speed: number; } export interface SwayConfig { amplitude: number; frequency: number; bias: number; } /** * Represents an Animated value */ export declare class AnimChannel { value: number; velocity: number; private baseValue; private mode; private time; private timeInMode; private tweenStart; private tweenTarget; private tweenConfig; private springTarget; private springConfig; private followTarget; private followConfig; swayEnabled: boolean; private swayConfig; private lastSwayValue; private swayFade; constructor(startValue?: number); /** * Reset ongoing animation and hold the value still */ hold(): this; /** * Tween the value to target */ tweenTo(target: number, config?: Partial): this; /** * Spring the value to target */ springTo(target: number, config?: Partial): this; /** * Follow the value to target using a velocity based animation */ followTo(target: number, config?: Partial): this; /** * Enable some sway to the value controlled by a Sin function */ swayTo(config?: Partial): this; /** * Disable applied sway to the value */ disableSway(): this; /** * Call this inside your update loop */ update(dt: number): void; } /** * Simple lerp helper function * @param a source value * @param b destination value * @param t lerp factor meaning [0, 1] maps to [a, b] */ export declare function lerp(a: number, b: number, t: number): number; //# sourceMappingURL=anim.d.ts.map