import { type DOMAttributes } from 'react'; interface PressEventResult { /** Props to spread on the target element. */ pressProps: Pick, 'onKeyDown' | 'onKeyUp' | 'onClick' | 'onMouseDown' | 'onPointerDown' | 'onPointerUp' | 'onDragStart'>; } /** * @internal */ export interface PressProps { /** Handler that is called when the press is released over the target. */ onPress?: () => void; /** Whether the press events should be disabled. */ isDisabled?: boolean; } /** * This hook is largely inspired by https://github.com/adobe/react-spectrum/blob/2a1c28b8370f4a19e4bdb92e0daf14d07990f27a/packages/%40react-aria/interactions/src/usePress.ts * It handles mouse, touch, keyboard events, as well as screen readers. * It internally manages the state of the press interaction, such as detecting when the button is pressed and released. * An interaction starts when the user presses down with a mouse or their finger on the target, and ends when they move the pointer off the target. * If the pointer is released over the target, then the onPress callback is triggered, unless isDisabled is true. * More information about its features: https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/docs/usePress.mdx * @deprecated Will be removed. * @internal */ export declare function usePress(props: PressProps): PressEventResult; export {};