import { type Ref } from "vue";
import type { CodeLayoutDragDropReferencePosition, CodeLayoutPanelInternal } from "../CodeLayout";
export declare function checkDropPanelDefault(dragPanel: CodeLayoutPanelInternal, referencePanel: CodeLayoutPanelInternal, dragOverState: Ref<CodeLayoutDragDropReferencePosition>): boolean;
export declare function getCurrentDragPanel(): CodeLayoutPanelInternal | null;
export declare function usePanelDraggerRoot(): void;
export declare function usePanelDragger(): {
    dragSelfState: Ref<boolean>;
    handleDragStart: (panel: CodeLayoutPanelInternal, ev: DragEvent) => void;
    handleDragEnd: (ev: DragEvent) => void;
};
export declare function usePanelDragOverDetector(container: Ref<HTMLElement | undefined>, selfPanel: Ref<CodeLayoutPanelInternal> | undefined, horizontal: Ref<boolean> | "four" | "center", focusPanel: () => void, dragoverChecking?: ((dragPanel: CodeLayoutPanelInternal) => boolean) | undefined): {
    dragPanelState: Ref<boolean>;
    dragEnterState: Ref<boolean>;
    dragOverState: Ref<CodeLayoutDragDropReferencePosition>;
    handleDragOver: (e: DragEvent) => void;
    handleDragEnter: (e: DragEvent) => void;
    handleDragLeave: (e: DragEvent) => void;
    resetDragOverState: () => void;
};
