import type { Side } from "../types"; export interface DragConfig { /** Current active snap point index */ activeSnapIndex: number; /** Fraction of panel dimension to trigger close (0-1). Default: 0.25 */ closeThreshold: number; /** Enable drag-driven dismissal. Default: true */ enabled: boolean; /** Whether the stack has >1 sheet (swipe pops instead of closing) */ isNested: boolean; /** Callback when drag ends and close should fire */ onClose: () => void; /** Callback when drag ends and pop should fire */ onPop: () => void; /** Called when snap target changes on release */ onSnap: (index: number) => void; /** When true, can't skip intermediate snap points */ sequential: boolean; /** Side the panel is on — determines drag direction */ side: Side; /** Resolved snap point heights in px (sorted ascending). Empty = no snap points. */ snapHeights: number[]; /** Velocity threshold (px/ms) to trigger close. Default: 0.5 */ velocityThreshold: number; } export interface DragState { /** Whether a drag is currently active */ isDragging: boolean; /** Current drag offset in the dismiss direction (px) */ offset: number; } export type DragAxis = "x" | "y"; export type DragSign = 1 | -1; //# sourceMappingURL=drag-types.d.ts.map