//#region src/hooks/use-frame-delay/index.d.ts interface UseFrameDelayOptions { /** Number of animation frames to wait (default: 2) */ frames?: number; /** Callback fired when delay completes */ onReady?: () => void; } interface UseFrameDelayResult { /** Whether the delay has completed */ isReady: boolean; } /** * Delays execution by a specified number of animation frames. * * Useful for deferring expensive renders to allow the browser to paint * a loading state first. * * @param options - {@link UseFrameDelayOptions} * @param options.frames - Number of animation frames to wait (default: 2). * @param options.onReady - Callback fired when delay completes. * @returns {@link UseFrameDelayResult} Object with isReady boolean. * * @example * ```tsx * // Pattern 1: Reactive * function DeferredContent() { * const { isReady } = useFrameDelay(); * if (!isReady) return ; * return ; * } * * // Pattern 2: Callback * function WithCallback() { * const [loaded, setLoaded] = useState(false); * useFrameDelay({ onReady: () => setLoaded(true) }); * return loaded ? : ; * } * ``` */ declare function useFrameDelay(options?: UseFrameDelayOptions): UseFrameDelayResult; //#endregion export { UseFrameDelayOptions, UseFrameDelayResult, useFrameDelay }; //# sourceMappingURL=index.d.ts.map