/** Return value of {@link useInterval}. */ export interface UseIntervalReturn { /** Whether the interval is currently running. */ active: boolean; /** Start (or restart) the interval. */ start: () => void; /** Stop the interval. */ stop: () => void; /** Toggle the interval. */ toggle: () => void; } /** Options for {@link useInterval}. */ export interface UseIntervalOptions { /** If `true`, start the interval immediately. Default: `true`. */ autoInvoke?: boolean; } /** * Calls `callback` every `delay` milliseconds. The latest callback is always * invoked even if the callback identity changes between renders. Pass * `delay = null` to pause. * * @param callback - Function to invoke on each tick. * @param delay - Interval in milliseconds, or `null` to pause. * @param options - Configuration. * @returns Controls for starting/stopping the interval. */ export declare function useInterval(callback: () => void, delay: number | null, options?: UseIntervalOptions): UseIntervalReturn;