import type { InjectionKey } from 'vue'; import type Node from './node'; interface TreeNode { node: Node; $el?: HTMLElement; } interface DragOptions { event: DragEvent; treeNode: TreeNode; } export interface DragEvents { treeNodeDragStart: (options: DragOptions) => void; treeNodeDragOver: (options: DragOptions) => void; treeNodeDragEnd: (event: DragEvent) => void; } export declare const dragEventsKey: InjectionKey; export declare function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }: { props: any; ctx: any; el$: any; dropIndicator$: any; store: any; }): { dragState: import("vue").Ref<{ showDropIndicator: boolean; draggingNode: null; dropNode: null; allowDrop: boolean; dropType: null; }>; }; export {};