import { Accessor } from 'solid-js'; import { MaybeAccessor } from '@solidjs-use/shared'; import { PointerType, Position } from '../types.js'; import { UseSwipeDirection } from '../useSwipe/index.js'; import '../_configurable.js'; interface UsePointerSwipeOptions { /** * @default 50 */ threshold?: number; /** * Callback on swipe start. */ onSwipeStart?: (e: PointerEvent) => void; /** * Callback on swipe move. */ onSwipe?: (e: PointerEvent) => void; /** * Callback on swipe end. */ onSwipeEnd?: (e: PointerEvent, direction: UseSwipeDirection) => void; /** * Pointer types to listen to. * * @default ['mouse', 'touch', 'pen'] */ pointerTypes?: PointerType[]; } interface UsePointerSwipeReturn { isSwiping: Accessor; direction: Accessor; readonly posStart: Position; readonly posEnd: Position; distanceX: Accessor; distanceY: Accessor; stop: () => void; } /** * Reactive swipe detection based on PointerEvents. * * @see https://solidjs-use.github.io/solidjs-use/core/usePointerSwipe */ declare function usePointerSwipe(target: MaybeAccessor, options?: UsePointerSwipeOptions): UsePointerSwipeReturn; export { UsePointerSwipeOptions, UsePointerSwipeReturn, usePointerSwipe };