/**
 * 将数组转化为树形结构数组，在转化后的树形结构的数组中，子级元素会被添加到父级元素的 children 属性中，children 属性是一个数组类型
 *
 * @param {any[]} origin 原数组
 * @param {string} primaryFieldName 数组中元素的主键字段名
 * @param {string} parentFieldName 数组中元素用于表示其父级元素的字段名
 * @param {boolean} isPath 是否需要生成从根节点到当前子级节点的路径，默认为 false，生成的路径是由当前子级节点的主键值加上父级节点的主键值
 * 组成的数组，如果当前节点为根节点，则路径为空数组
 * @param {string} pathFieldName 需要生成从根节点到当前子级节点的路径时，用于存储路径数据的字段名，默认为 'path'
 * @returns {{tree: Array<any & { children: any[] }>, map: Record<any, any & { children: any[] }>}} 树形结构数组和映射表组成
 * 的对象，其中 tree 为树形结构数组，map 为映射表，映射表的 key 为数组元素的主键值，映射表的 value 为数组元素
 */
export declare const convert2Tree: (origin: any[], primaryFieldName: string, parentFieldName: string, isPath?: boolean, pathFieldName?: string) => {
    tree: Array<any & {
        children: any[];
    }>;
    map: Record<any, any & {
        children: any[];
    }>;
};
/**
 * 将数组转化为映射表
 *
 * @param {any[]} origin 原数组
 * @param {string | ((item: any) => (string | number | symbol))} primaryFieldName 数组元素的主键字段名，数组转化为映射表时，数组
 * 元素的主键字段值将会作为映射表的 key，映射表的 key 需要的类型为 `string | number | symbol`，如果传入的是字符串数据作为参数，则该参数为
 * 数组元素的主键字段名，如果传入的是函数类型作为参数，则该函数将会接收当前正在遍历处理的数组元素作为参数，该函数需要返回该元素在映射表中 key
 * @returns {Record<string | number | symbol, any>} 数组转化后的映射表
 */
export declare const convert2Map: (origin: any[], primaryFieldName: string | ((item: any) => string | number | symbol)) => Record<(string | number | symbol), any>;
/**
 * 将树形结构数组扁平化为一维数组
 *
 * @param {Array<any>} tree 树形结构数组
 * @param {string} childrenFieldName 树形结构数组中父节点中存放子节点的字段名，默认为 'children'
 * @returns {Array<any>} 扁平化后的一维数组
 */
export declare const flattenTree: (tree: Array<any>, childrenFieldName?: string) => Array<any>;
