import type { Ref } from '@vue/composition-api';
import type { KeysType, TableTreeDataMap, TreeDataMapType } from '@ldesign/utils/es/table/tree-store';
import type { PrimaryTableCol, TableRowData, TypeEnhancedTableProps, TypePrimaryTableProps } from '../type';
export interface GetChildrenDataReturnValue {
    allChildren: Array<any>;
    allChildrenKeys: Array<string | number>;
    leafNodeKeys: Array<string | number>;
}
export declare const childrenMap: Map<any, any>;
export declare function getChildrenData(treeDataMap: TreeDataMapType, data: TableRowData, keys: {
    childrenKey: string;
    rowKey: string;
}, r?: GetChildrenDataReturnValue): GetChildrenDataReturnValue;
export interface RemoveParams {
    selectedRowKeys: Array<string | number>;
    removeKeys: Array<string | number>;
}
export interface RemainData {
    data: Array<any>;
    keys: Array<string | number>;
}
export declare function removeChildrenKeys(p: RemoveParams, r?: RemainData): RemainData;
export interface GetKeyDataParams {
    treeDataMap: TreeDataMapType;
    data: Array<any>;
    column: PrimaryTableCol;
    keys: KeysType;
}
export interface GetRowDataParams {
    treeDataMap: TreeDataMapType;
    selectedRowKeys: Array<string | number>;
}
export declare function getRowDataByKeys(p: GetRowDataParams): any[];
declare type SelectChangeParams = Parameters<TypePrimaryTableProps['onSelectChange']>;
export default function useTreeSelect(props: TypeEnhancedTableProps, treeDataMap: Ref<TableTreeDataMap>): {
    tIndeterminateSelectedRowKeys: Ref<(string | number)[]>;
    onInnerSelectChange: (rowKeys: SelectChangeParams[0], extraData: SelectChangeParams[1]) => void;
};
export {};
