/** * Runs a callback on every animation frame until stopped, wrapping * `window.requestAnimationFrame` in a start/stop lifecycle. * * @example * const wrapper = new RequestAnimationFrameWrapper() * wrapper.start(() => updateScrollPosition()) * // later * wrapper.stop() */ export declare class RequestAnimationFrameWrapper { live: boolean; callback: () => void; constructor(); /** * Begin invoking the callback on every animation frame. * * @param callback - The function to run on each frame. */ start(callback: () => void): void; /** * Stop invoking the callback and reset it to a no-op. */ stop(): void; /** * Run the callback once, then queue the next frame while still live. */ schedule(): void; }