import type { RefObject } from "react"; import type { DragConfig, DragState } from "./drag-types"; /** * Hook that manages drag gestures that can dismiss a sheet panel. * * Gesture pipeline: * 1. Dead zone (10px) — ignores micro-movements * 2. Angle check (35°) — must be roughly aligned with dismiss axis * 3. Scroll conflict — yields to scrollable containers not at edge * 4. Commit — drag is active, applies offset via `onDragUpdate` * 5. Release — velocity + threshold determine close/snap/bounce-back * * Opposite-direction drag uses √(offset) damping for elastic * rubber-band resistance (same physics as iOS over-scroll). * * When `snapHeights` is provided, release targeting uses * `findSnapTarget()` instead of the simple threshold check. */ export declare const useDrag: (panelRef: RefObject, config: DragConfig, onDragUpdate: (state: DragState) => void) => void; //# sourceMappingURL=use-drag.d.ts.map