///
import { DragSourceMonitor } from "react-dnd";
import { DraggableItem } from "../editor/components/Draggable";
export declare const moveInPlace: (arr: any[], from: number, to: number) => any[];
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 {};