import { type SpringOptions } from '../physics/spring'; import type { Scheduler } from '../scheduler/scheduler'; import { type Animatable } from '../value/animatable'; export interface FollowOptions extends SpringOptions { /** The scheduler to run on; defaults to the shared rAF loop. */ scheduler?: Scheduler; } export interface Follow { /** The tracking value: read get()/velocity(), subscribe on('change'). */ readonly value: Animatable; /** Re-aim the spring at a moving target. Velocity is conserved; NO Motion rebuild. */ target(next: number): void; /** Freeze the spring in place. */ stop(): void; /** Stop and release the value and the frame subscription. */ dispose(): void; } /** * A value that springs toward a moving target: the momentum-scrub seam for * scroll. The default config is critically damped, so a scrub never overshoots. * target() mutates the spring's aim in place rather than rebuilding the Motion, * so a per-frame scroll handler allocates nothing after construction. */ export declare function follow(initial: number, options?: FollowOptions): Follow; //# sourceMappingURL=follow.d.ts.map