import type { SetupContext } from '@vue/composition-api';
import type { SwapParams } from '@ldesign/utils/es/table/tree-store';
import type { PrimaryTableCol, TableRowData, TableRowState, TableRowValue, TypeEnhancedTableProps } from '../type';
export default function useTreeData(props: TypeEnhancedTableProps, context: SetupContext): {
    store: import("@vue/composition-api").Ref<{
        treeDataMap: import("@ldesign/utils/es/table/tree-store").TableTreeDataMap;
        expandAllRowIndex: 0;
        initialTreeStore: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], columns: import("@ldesign/utils/es/table/types").PlainObject[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => void;
        getAllUniqueKeys: (data: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType, arr?: import("@ldesign/utils/es/table/types").TableRowData[]) => import("@ldesign/utils/es/table/types").TableRowData[];
        toggleExpandData: (p: {
            rowIndex: number;
            row: import("@ldesign/utils/es/table/types").TableRowData;
        }, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        updateExpandRow: (changeRow: import("@ldesign/utils/es/table/types").TableRowState<import("@ldesign/utils/es/table/types").TableRowData>, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        getData: (key: import("@ldesign/utils/es/table/types").TableRowValue) => import("@ldesign/utils/es/table/types").TableRowState<import("@ldesign/utils/es/table/types").TableRowData>;
        updateData: (rowValue: import("@ldesign/utils/es/table/types").TableRowValue, newRowData: import("@ldesign/utils/es/table/types").TableRowData, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => number;
        remove: (key: import("@ldesign/utils/es/table/types").TableRowValue, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        appendTo: (rowValue: string | number, newData: import("@ldesign/utils/es/table/types").TableRowData | import("@ldesign/utils/es/table/types").TableRowData[], dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        appendToRoot: (newData: import("@ldesign/utils/es/table/types").TableRowData | import("@ldesign/utils/es/table/types").TableRowData[], dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        insertAfter: (rowValue: string | number, newData: import("@ldesign/utils/es/table/types").TableRowData, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        insertBefore: (rowValue: string | number, newData: import("@ldesign/utils/es/table/types").TableRowData, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        insert: (rowValue: string | number, newData: import("@ldesign/utils/es/table/types").TableRowData, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType, type: "after" | "before") => import("@ldesign/utils/es/table/types").TableRowData[];
        swapData: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], params: SwapParams<import("@ldesign/utils/es/table/types").TableRowData>, keys: import("@ldesign/utils/es/table/tree-store").KeysType) => {
            dataSource: import("@ldesign/utils/es/table/types").TableRowData[];
            result: boolean;
            code?: number;
            reason?: string;
        };
        expandAll: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        foldAll: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        getTreeNode: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType) => import("@ldesign/utils/es/table/types").TableRowData[];
        getTreeExpandedRow: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], keys: import("@ldesign/utils/es/table/tree-store").KeysType, type?: "data" | "all" | "unique") => any[];
        initialTreeDataMap: (treeDataMap: import("@ldesign/utils/es/table/tree-store").TableTreeDataMap, dataSource: import("@ldesign/utils/es/table/types").TableRowData[], column: import("@ldesign/utils/es/table/types").PlainObject, keys: import("@ldesign/utils/es/table/tree-store").KeysType, level?: number, parent?: import("@ldesign/utils/es/table/types").TableRowState<import("@ldesign/utils/es/table/types").TableRowData>) => void;
        updateDisabledState: (dataSource: import("@ldesign/utils/es/table/types").TableRowData[], column: import("@ldesign/utils/es/table/types").PlainObject, keys: import("@ldesign/utils/es/table/tree-store").KeysType) => void;
        validateDataExist: (state: import("@ldesign/utils/es/table/types").TableRowState<import("@ldesign/utils/es/table/types").TableRowData>, rowValue: string | number) => boolean;
        validateDataDoubleExist: (state: import("@ldesign/utils/es/table/types").TableRowState<import("@ldesign/utils/es/table/types").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 | 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: () => import("@ldesign/utils/es/table/types").TableRowData[];
    resetData: (data: TableRowData[]) => void;
    getTreeExpandedRow: (type?: 'unique' | 'data' | 'all') => any[];
};
