import { TreeNode } from 'primeng/api'; /** * 树形结构转换配置项 */ export interface TreeConvertOptions { /** 节点唯一标识字段名,默认 'id' */ idKey?: string; /** 父节点标识字段名,默认 'pid' */ pidKey?: string; /** 节点显示文本字段名,默认 'orgName' */ labelKey?: string; /** 子节点存放字段名,默认 'children' */ childrenKey?: string; /** 根节点的pid值,默认 undefined(pid不存在或为null/undefined的作为根节点) */ rootPidValue?: any; /** 是否保留原始数据,默认 true */ preserveData?: boolean; } /** * 将扁平数组转换为 PrimeNG TreeNode 树形结构 * @param list 原始数据数组 * @param options 配置项 * @returns PrimeNG TreeNode 数组 */ export declare function toPrimeNGTree>(list: T[], options?: TreeConvertOptions): TreeNode[]; /** * 简化版:只指定关键字段 * @param list 原始数据 * @param idField id字段名 * @param pidField 父id字段名 * @param labelField 显示文本字段名 */ export declare function toPrimeNGTreeSimple>(list: T[], idField?: string, pidField?: string, labelField?: string): TreeNode[]; /** * 从树中查找节点 * @param tree 树形数据 * @param predicate 查找条件 */ export declare function findTreeNode(tree: TreeNode[], predicate: (node: TreeNode) => boolean): TreeNode | null; /** * 展开/折叠所有节点 * @param tree 树形数据 * @param expanded 是否展开 */ export declare function expandAllTreeNodes(tree: TreeNode[], expanded?: boolean): void; /** * 获取树的所有叶子节点 */ export declare function getLeafNodes(tree: TreeNode[]): TreeNode[];