/**
 * @description  递归查看父级节点数据集合及当前节点数据
 * @params {Array}  list 当前需要过滤查看的数据集合、
 * @params {String/Array} nodeKey 当前用于查找匹配数据的标识值
 * @params {Object} params 指定当前数据中，筛选对应子集合字段名及匹配标识值字段名
 *                         （childrenParam：指当前子集合数据字段名（字符串表示单个，数组表示当前多个子集合字段名），keyParam： 指当前匹配标识值字段名）
 * @params {Object} extra
 *
 * @result {Array} nodeParent  当前传入nodeKey值所有上级别父级数据对象数组集合（倒序排列，根节点在最后一条）
 * @result {Array} parentKeys  当前传入nodeKey值所有上级别父级数据关键字数据集合(keyParam)（倒序排列，根节点在最后一条）
 * @result {Array} matchNode   当前传入nodeKey值所在的数据对象集合
 * */
export declare const getParentNodes: (list: any[], nodeKey: string | number, params?: {
    childrenParam: string;
    keyParam: string;
}, extraProps?: any) => {
    nodeParent: any[];
    parentKeys: any[];
    matchNode: any[];
};
/**
 * @description  递归查找指定节点的所有子菜单与子功能集合
 * @params {Array}  childNode 当前需要过滤查看的子数据集合、
 * @params {Object} params 指定当前数据中，筛选对应子集合字段名及匹配标识值字段名
 *                         （childrenParam：指当前子集合数据字段名（字符串表示单个，数组表示当前多个子集合字段名），keyParam： 指当前匹配标识值字段名）
 * @params {Object} extra
 *
 * @result {Array} childKeys  所有子项的id
 * @result {Array} nodeChildren   当前传入nodeKey值所在的数据对象集合
 * */
export declare const getChildrenNodes: (childNode: any, params?: {
    childrenParam: string;
    keyParam: string;
}) => {
    childKeys: any[];
    nodeChildren: any[];
};
/**
 * @description  查找指定节点或节点集合的完整路径数据
 * @params {Array}  list 查询的数据源
 * @params {Array | String | Number}  nodeKey 需要查询的key集合
 * @params {Object} params 指定当前数据中，筛选对应子集合字段名及匹配标识值字段名
 *                         （childrenParam：指当前子集合数据字段名（字符串表示单个，数组表示当前多个子集合字段名），keyParam： 指当前匹配标识值字段名）
 *
 * @result {Array} 所有匹配到的层级数据(如果nodeKey是数组，则返回的节点集合会分别按顺序存到数组内
 *
 * */
export declare const getNodePaths: (list: any, nodeKey: any, params?: {
    childrenParam: string;
    keyParam: string;
}, extraProps?: any) => any[];
/**
 * @description  查找节点数据：点击获取对应ID的完整数据（即从树数据中深层查找与ID值相匹配的相关数据对象）
 *
 * @param [array] list 需要过滤的数据
 * @param [string] key 指定过滤的key值
 * @param [Object] optionName 指定value与children相关字段名
 *
 * @data list:<array:[{ value: '', label: '', children: []}]> 列表数据格式
 */
export declare const getNode: (list: any[], key?: string | number, optionName?: {
    value: string;
    children: string;
} | undefined) => {};
/**
 * 数组转树形结构
 * @param {array} list 被转换的数组
 * @param {number|string} root 根节点（最外层节点）的 id
 * @param {object} params 字段值（默认 { keyParam: 'id', parentParam: 'parentId' }）
 * @return array
 */
export declare const arrayToTree: (list: any, rootId: any, { keyParam, parentParam, childrenParam }?: {
    keyParam?: string | undefined;
    parentParam?: string | undefined;
    childrenParam?: string | undefined;
}) => any[];
/**
 * 多根树转换成数组
 * @param {array} tree 被转换的树（仅限于只有一个根的树
 * @return array
 */
export declare const convertToArray: (tree: any, { keyParam, parentParam, childrenParam }?: {
    keyParam?: string | undefined;
    parentParam?: string | undefined;
    childrenParam?: string | undefined;
}) => any[];
/**
 * 树过滤（默认按名称过滤，也可按指定的字段名过滤）
 * @param {array} list 需要过滤的树
 * @param {string | number} nodeKey 需要筛选的名称（默认搜索名称，如果需要指定其他字段值，则参数传object
 * @param {object} params 指定当前数据中，筛选对应子集合字段名及匹配标识值字段名
 *  @value { childrenParam: 'children',  keyParam: 'name' }  childrenParam：指当前子集合数据字段名，keyParam： 指当前匹配标识值字段名）
 *
 * @return array  返回新的数组
 * */
export declare const filterTreeNodes: (list: any[], nodeKey: string | number, params?: {
    childrenParam: string;
    keyParam: string;
}) => any;
/**
 * @param {Array} data 树数组数据
 * @param {Number} level 起始层级序号
 * @param {Number} level 起始层级序号
 * @param {Array} parentIndexPath 父级序号集合
 * @param {Array} parentNamePath 父级名称集合
 * @param {Object} optionName 指定字段名 {children: '', label: '', title: '', name: ''}
 * @param {Object} extra 扩展配置 {separator: '/'}
 * */
export declare const addTreeLevels: (data: any, level: number | undefined, parentIndexPath: never[] | undefined, parentNamePath: never[] | undefined, optionName: any, extra: any) => any[];
/**
 * @description  获取树数据中所有叶子节点的上层节点路径（用于antd树组件的expandedKeys配置）
 * @params {Array}  list 树数据集合
 * @params {Object} params 指定当前数据中，子集合字段名及标识值字段名
 *                         （childrenParam：指当前子集合数据字段名，keyParam： 指当前匹配标识值字段名）
 * @params {Object} extra 额外配置
 *
 * @result {Array} leafParentKeys 所有叶子节点的上层节点key集合（去重后的数组）
 * @result {Array} leafNodes 所有叶子节点本身
 * @result {Array} leafNodesKeys 所有叶子节点的key集合
 * @result {Array} leafParentPaths 所有叶子节点的完整上层路径数组
 *
 * 用法：
 * const { leafParentKeys, leafNodes , leafNodesKeys, leafParentPaths} = getLastLeafParentNodes(treeList, { childrenParam: 'children', keyParam: 'id' })
 */
export declare const getLastLeafParentNodes: (list?: never[], params?: {
    childrenParam: string;
    keyParam: string;
}, extra?: {}) => {
    leafNodes: any[];
    leafNodesKeys: any[];
    leafParentKeys: unknown[];
    leafParentPaths: any[];
};
