import { Accessor } from 'solid-js'; import { ConfigurableEventFilter } from '@solidjs-use/shared'; import { WindowEventName } from '../useEventListener/index.js'; import { ConfigurableWindow } from '../_configurable.js'; interface UseIdleOptions extends ConfigurableWindow, ConfigurableEventFilter { /** * Event names that listen to for detected user activity * * @default ['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel'] */ events?: WindowEventName[]; /** * Listen for document visibility change * * @default true */ listenForVisibilityChange?: boolean; /** * Initial state of the Accessor idle * * @default false */ initialState?: boolean; } interface UseIdleReturn { idle: Accessor; lastActive: Accessor; reset: () => void; } /** * Tracks whether the user is being inactive. * * @see https://solidjs-use.github.io/solidjs-use/core/useIdle * @param timeout default to 1 minute * @param options IdleOptions */ declare function useIdle(timeout?: number, options?: UseIdleOptions): UseIdleReturn; export { UseIdleOptions, UseIdleReturn, useIdle };