import { PointerEvent, RefObject } from 'react'; interface DragHandleProps { onPointerDown: (event: PointerEvent) => void; onPointerMove: (event: PointerEvent) => void; onPointerUp: (event: PointerEvent) => void; onPointerCancel: (event: PointerEvent) => void; } interface DragToDismiss { /** Spread on the drag zone — the 48px handle row. */ dragHandleProps: DragHandleProps; /** How far the sheet is currently dragged down, in px. `0` when at rest. */ dragOffset: number; } /** * Drag the sheet down past 30% of its height to dismiss it; release earlier and it snaps back. * * Deliberately never the only exit (WCAG 2.5.7): the close button, the scrim and Escape all do the * same without a dragging movement. A press that starts on a button in the drag zone is left alone, * so the close control keeps working as a plain click. */ export declare const useDragToDismiss: (sheetRef: RefObject, onDismiss: () => void) => DragToDismiss; export {};