import { StdTableProps } from 'src/types';
import { Ref } from 'vue';
interface RowData {
    id: number;
    level?: number;
    children?: RowData[];
    parent?: any;
    [key: string]: any;
}
export interface DragEndPayload {
    target_id: number;
    direction: number;
    affected_ids: number[];
}
declare function useDraggableTable(options?: StdTableProps['rowDraggableOptions']): {
    initSortable: (dataSource: Ref<any[]>) => void;
    buildIndexMap: (data: RowData[] | any[], level?: number, index?: number, parentPath?: number[]) => void;
    resetIndexMap: () => void;
    tableId: Ref<string, string>;
    rowKeyIndexMap: Ref<Record<number, number[]>, Record<number, number[]>>;
};
export default useDraggableTable;
