///
import { DragSourceMonitor } from "react-dnd";
import { DraggableItem } from "../../../components/Draggable";
export declare const BLOCK = "block";
interface UseMoveBlock {
move: (current: number, next: number) => void;
}
export declare const useMoveBlock: (elementId: string) => UseMoveBlock;
interface DragItem {
index: number;
id: string;
type: string;
}
interface UseSortableListArgs {
index: number;
id: string;
type: string;
move: (current: number, next: number) => void;
beginDrag?: (monitor: DragSourceMonitor) => DragItem;
endDrag?: (item: DraggableItem | undefined, monitor: DragSourceMonitor) => void;
}
export declare const useSortableList: ({ index, move, type, beginDrag, endDrag }: UseSortableListArgs) => {
ref: import("react").RefObject;
isDragging: boolean;
handlerId: string | symbol | null;
drag: import("react-dnd").ConnectDragSource;
drop: import("react-dnd").ConnectDropTarget;
preview: import("react-dnd").ConnectDragPreview;
isOver: boolean;
dropItemAbove: boolean;
};
export {};