export interface IFlattenTree { (data: T[], childrenKey?: string): any[]; } /** * 扁平化树形数组 * @param data 树形数组 * @param childrenKey children的键名 * @returns */ declare const flattenTree: IFlattenTree; export interface IGenerateTree { (data: T[], rootId?: any, aliasMap?: { id: string; pid: string; childrenKey?: string; }, cloneDeep?: boolean): any[]; } /** * 生成树形数组 * @param data 扁平数组 * @param rootId 根节点id,默认为 undefined * @param aliasMap 别名配置,默认为"id", "pid", "children" * @param cloneDeep 是否深拷贝原数据,默认为否(会修改原始数组) * @returns */ declare const generateTree: IGenerateTree; /** * 深度遍历节点 * @param data 数据 * @param func 处理方法 * @param aliasMap 标识 * @param level 深度 */ declare const treeLoop: (data: any[], func: any, aliasMap?: { children: string; }, level?: number) => void; /** * 获取树层级对应的所有节点 * @param data * @param level * @param aliasMap * @returns */ declare const getTargetTreeLevelNode: (data: any[], level: number, aliasMap?: { key: string; children: string; }) => any[]; /** * 深度遍历并查找节点(展开查找到的字节点路径) * @param nodes 数据 * @param predicate 条件 * @param aliasMap 标识 * @returns */ declare const filterLoopTreeData: (nodes: any[], predicate: (node: any) => boolean, aliasMap?: { children: string; }) => { filterTreeValue: any[]; }; export { flattenTree, generateTree, getTargetTreeLevelNode, filterLoopTreeData, treeLoop };