import { Ref } from 'vue'; export interface DragState { draggedIndex: number | null; draggedRow: Record | null; targetIndex: number | null; isDragging: boolean; insertPosition: 'before' | 'after' | null; } export declare function useRowDrag(getData: () => Record[], emit: (...args: any[]) => void): { dragState: Ref<{ draggedIndex: number | null; draggedRow: Record | null; targetIndex: number | null; isDragging: boolean; insertPosition: "before" | "after" | null; }, DragState | { draggedIndex: number | null; draggedRow: Record | null; targetIndex: number | null; isDragging: boolean; insertPosition: "before" | "after" | null; }>; handleDragStart: (event: DragEvent, row: Record, index: number) => void; handleDragOver: (event: DragEvent, index: number) => void; handleDragEnter: (event: DragEvent, index: number) => void; handleDragLeave: (event: DragEvent) => void; handleDrop: (event: DragEvent, targetIndex: number) => void; handleDragEnd: (event: DragEvent) => void; shouldShowInsertLine: (index: number, position: "before" | "after") => boolean; }; //# sourceMappingURL=useRowDrag.d.ts.map