import { Accessor } from 'solid-js'; import { MaybeAccessor, Pausable } from '../utils/types.js'; import 'solid-js/types/reactive/signal'; interface UseIntervalOptions { /** * Expose more controls * * @default false */ controls?: Controls; /** * Execute the update immediately on calling * * @default true */ immediate?: boolean; /** * Callback on every interval */ callback?: (count: number) => void; } interface UseIntervalControls { counter: Accessor; reset: () => void; } /** * Reactive counter increases on every interval. * * @see https://solidjs-use.github.io/solidjs-use/shared/useInterval */ declare function useInterval(interval?: MaybeAccessor, options?: UseIntervalOptions): Accessor; declare function useInterval(interval: MaybeAccessor, options: UseIntervalOptions): UseIntervalControls & Pausable; export { UseIntervalControls, UseIntervalOptions, useInterval };