import type { MouseEventHandler, RefObject } from "react"; import type { orientationType } from "../../responsive"; export type dragStrategy = "drop-indicator" | "natural-movement"; export type Direction = "fwd" | "bwd"; export declare const FWD: Direction; export declare const BWD: Direction; export type Rect = { height: number; left: number; top: number; width: number; }; export type DragHookResult = { draggable: JSX.Element | null; dropIndicator: JSX.Element | null; draggedItemIndex?: number; isDragging: boolean; onMouseDown?: MouseEventHandler; revealOverflowedItems: boolean; }; export type DragDropHook = (props: { allowDragDrop?: boolean | dragStrategy; extendedDropZone?: boolean; onDrop: (fromIndex: number, toIndex: number) => void; orientation: orientationType; containerRef: RefObject; itemQuery?: string; }) => DragHookResult;