import { RefObject } from 'react';
export declare type SwipeState = {
    clientX?: number;
    clientY?: number;
    direction: 'right' | 'left' | 'up' | 'down';
    alphaX: number;
    alphaY: number;
};
export declare type UseSwipeEventsOpts = {
    threshold?: number;
    preventDefault?: boolean;
};
/**
 * useSwipeEvents
 * @param ref
 * @param options
 */
declare const useSwipeEvents: <TElement extends HTMLElement>(ref?: RefObject<TElement>, options?: UseSwipeEventsOpts) => Readonly<{
    onSwipeLeft: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeRight: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeUp: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeDown: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeMove: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeStart: import("./shared/types").CallbackSetter<SwipeState>;
    onSwipeEnd: import("./shared/types").CallbackSetter<SwipeState>;
}>;
export default useSwipeEvents;
