import type { Pausable } from "../use-pausable/index.cjs"; import type { UseTimeoutFnOptions } from "../use-timeout-fn/index.cjs"; import type { AnyFunc } from "../utils/basic.cjs"; export interface UseTimeoutOptions extends UseTimeoutFnOptions { /** * Expose more controls * * @defaultValue false */ controls?: Controls; /** * Callback on timeout */ callback?: Callback; } export type UseTimeoutReturns = Controls extends true ? Pausable<[], Parameters | []> & { /** * Timeout state */ isTimeout: boolean; /** * Reset the timeout */ reset(): void; } : boolean; /** * A React Hook that create a state that changes after a specified delay. */ export declare function useTimeout(interval?: number, options?: UseTimeoutOptions): UseTimeoutReturns; export declare function useTimeout(interval: number, options: UseTimeoutOptions): UseTimeoutReturns;