/** * 分组树 */ export type GroupTree = { members?: Member[]; } & { [C in Group]?: GroupTree; }; /** * 获取分组路径 */ export type GetGroupPath = (member: Member, index: number, array: Member[]) => Group[]; /** * 根据 getGroupPath 提示的多层级分组信息,将 members 整理成 树状的分组层级结构 * @param members * @param getGroupPath * @returns */ export declare function groupTreeBy(members: Member[], getGroupPath: GetGroupPath): GroupTree; /** * 获取组树某个节点的子组名字 * @param node * @returns */ export declare function getSubGroupNames(node: GroupTree): Group[]; /** * 获取某个节点的所有直接子组节点 * @param node * @returns */ export declare function getSubGroupNodes(node: GroupTree): GroupTree[]; /** * 获取某个节点的所有直接子组名字 和 对应的节点 * @param node * @returns */ export declare function getSubGroupEntries(node: GroupTree): [Group, GroupTree][]; /** * 判断 目标是否不是 GroupTree * @param target * @returns */ export declare function isGroupTree(target?: any): any; /** * 判断组节点是否包含子组 * @param node * @returns */ export declare function hasSubGroups(node: GroupTree): boolean; /** * 扁平化组树 * @remarks * @param tree * @returns 返回启平后的 所有成员 和 所有节点 * + members - 包含树中所有节点的成员 * + nodes - 树的所有节点 */ export declare function flatGroupTree(tree: GroupTree): { members: Member[]; nodes: GroupTree[]; }; //# sourceMappingURL=group-tree.d.ts.map