import { SetupContext } from '@vue/composition-api';
import { SwapParams } from './tree-store';
import { TdEnhancedTableProps, PrimaryTableCol, TableRowData, TableRowValue, TableRowState } from '../type';
export default function useTreeData(props: TdEnhancedTableProps, context: SetupContext): {
    store: import("@vue/composition-api").Ref<{
        treeDataMap: import("./tree-store").TableTreeDataMap;
        expandAllRowIndex: 0;
        initialTreeStore: (dataSource: TableRowData[], columns: PrimaryTableCol<TableRowData>[], keys: import("./tree-store").KeysType) => void;
        toggleExpandData: (p: {
            rowIndex: number;
            row: TableRowData;
        }, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        updateExpandRow: (changeRow: TableRowState<TableRowData>, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        getData: (key: TableRowValue) => TableRowState<TableRowData>;
        updateData: (rowValue: TableRowValue, newRowData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => number;
        remove: (key: TableRowValue, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        appendTo: (rowValue: string | number, newData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        appendToRoot: (newData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        insertAfter: (rowValue: string | number, newData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        insertBefore: (rowValue: string | number, newData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        insert: (rowValue: string | number, newData: TableRowData, dataSource: TableRowData[], keys: import("./tree-store").KeysType, type: "after" | "before") => TableRowData[];
        swapData: (dataSource: TableRowData[], params: SwapParams<TableRowData>, keys: import("./tree-store").KeysType) => {
            dataSource: TableRowData[];
            result: boolean;
            code?: number;
            reason?: string;
        };
        expandAll: (dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        foldAll: (dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        getTreeNode: (dataSource: TableRowData[], keys: import("./tree-store").KeysType) => TableRowData[];
        initialTreeDataMap: (treeDataMap: import("./tree-store").TableTreeDataMap, dataSource: TableRowData[], column: PrimaryTableCol<TableRowData>, keys: import("./tree-store").KeysType, level?: number, parent?: TableRowState<TableRowData>) => void;
        updateDisabledState: (dataSource: TableRowData[], column: PrimaryTableCol<TableRowData>, keys: import("./tree-store").KeysType) => void;
        validateDataExist: (state: TableRowState<TableRowData>, rowValue: string | number) => boolean;
        validateDataDoubleExist: (state: TableRowState<TableRowData>, rowValue: string | number) => boolean;
    }>;
    rowDataKeys: import("@vue/composition-api").ComputedRef<{
        rowKey: string;
        childrenKey: string;
    }>;
    dataSource: import("@vue/composition-api").Ref<{
        [x: string]: any;
        children?: any[];
    }[]>;
    swapData: (params: SwapParams<TableRowData>) => void;
    setData: <T>(key: TableRowValue, newRowData: T) => void;
    getData: (key: TableRowValue) => TableRowState;
    remove: (key: TableRowValue) => void;
    appendTo: <T_1>(key: TableRowValue, newData: T_1) => void;
    insertAfter: <T_2>(rowValue: TableRowValue, newData: T_2) => void;
    insertBefore: <T_3>(rowValue: TableRowValue, newData: T_3) => void;
    formatTreeColumn: (col: PrimaryTableCol) => PrimaryTableCol;
    toggleExpandData: (p: {
        row: TableRowData;
        rowIndex: number;
    }, trigger?: 'expand-fold-icon') => void;
    expandAll: () => void;
    foldAll: () => void;
    getTreeNode: () => TableRowData[];
};
