import * as solid_js from 'solid-js'; import { ConfigurableEventFilter, MaybeAccessor } from '@solidjs-use/shared'; import { Position } from '../types.js'; import { ConfigurableWindow } from '../_configurable.js'; type UseMouseCoordType = 'page' | 'client' | 'screen' | 'movement'; type UseMouseSourceType = 'mouse' | 'touch' | null; type UseMouseEventExtractor = (event: MouseEvent | Touch) => [x: number, y: number] | null | undefined; interface UseMouseOptions extends ConfigurableWindow, ConfigurableEventFilter { /** * Mouse position based by page, client, screen, or relative to previous position * * @default 'page' */ type?: UseMouseCoordType | UseMouseEventExtractor; /** * Listen events on `target` element * * @default 'Window' */ target?: MaybeAccessor; /** * Listen to `touchmove` events * * @default true */ touch?: boolean; /** * Reset to initial value when `touchend` event fired * * @default false */ resetOnTouchEnds?: boolean; /** * Initial values */ initialValue?: Position; } /** * Reactive mouse position. * * @see https://solidjs-use.github.io/solidjs-use/core/useMouse */ declare function useMouse(options?: UseMouseOptions): { x: solid_js.Accessor; y: solid_js.Accessor; setX: solid_js.Setter; setY: solid_js.Setter; sourceType: solid_js.Accessor; }; type UseMouseReturn = ReturnType; export { UseMouseCoordType, UseMouseEventExtractor, UseMouseOptions, UseMouseReturn, UseMouseSourceType, useMouse };