import type { Ref } from '@vue/composition-api';
import type { TypeTreeItemProps } from '../interface';
export interface TypeDragStates {
    isDragOver: boolean;
    isDragging: boolean;
    dropPosition: number;
}
export default function useDraggable(props: TypeTreeItemProps, treeItemRef: Ref<HTMLElement>): {
    dragStates: {
        isDragOver: boolean;
        isDragging: boolean;
        dropPosition: number;
    };
    handleDragStart: (evt: DragEvent) => void;
    handleDragEnd: (evt: DragEvent) => void;
    handleDragOver: (evt: DragEvent) => void;
    handleDragLeave: (evt: DragEvent) => void;
    handleDrop: (evt: DragEvent) => void;
};
