import type { ElementTarget } from "../use-target-element/index.js"; export interface UseLongPressModifiers { /** * Whether to prevent the default behavior of the event */ preventDefault?: boolean; /** * Whether to stop the propagation of the event */ stopPropagation?: boolean; /** * Whether to only trigger the event once */ once?: boolean; /** * Whether to capture the event */ capture?: boolean; /** * Whether to only trigger the event on the target element itself */ self?: boolean; } export interface UseLongPressOptions { /** * Time in ms till `longpress` gets called * * @defaultValue 500 */ delay?: number; /** * Event modifiers */ modifiers?: UseLongPressModifiers; /** * Allowance of moving distance in pixels, * The action will get canceled When moving too far from the pointerdown position. * * @defaultValue 10 */ distanceThreshold?: number | false; } export type UseLongPressHandler = (evt: PointerEvent) => void; export interface UseLongPressReturns { /** * Whether the element is pressed */ isPressed: boolean; /** * Whether the element is long pressed */ isLongPressed: boolean; /** * Whether the element is meet the threshold */ isMeetThreshold: boolean; /** * Stop the long press event */ stop(): void; } /** * A React Hook that helps to handle long press events. */ export declare function useLongPress(target: ElementTarget, handler?: UseLongPressHandler, options?: UseLongPressOptions): UseLongPressReturns;