import type { Pausable } from "../use-pausable/index.js"; export interface UseRafLoopCallbackArgs { /** * The time elapsed since the last frame */ delta: number; /** * The timestamp of the current frame */ timestamp: DOMHighResTimeStamp; } export type UseRafLoopCallback = (args: UseRafLoopCallbackArgs) => void; export interface UseRafLoopOptions { /** * The maximum fps limit * * @defaultValue undefined */ fpsLimit?: number; /** * Whether to start the interval immediately on mounted * * @defaultValue true */ immediate?: boolean; /** * Whether to execute the callback immediately before the interval starts * * @defaultValue false */ immediateCallback?: boolean; } /** * A React Hook that helps to run a function on every frame using [requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame). */ export declare function useRafLoop(callback: UseRafLoopCallback, options?: UseRafLoopOptions): Pausable;