import { LinkedTreeListNode, LinkedTreeListNodeWithDrawInfo } from "@vunk/core"; interface DrawOptions { width: number; height: number; align: number; justify: number; /** * 不同层级之间的偏移量 */ levelOffset: number; } /** * @example * */ export declare class DrawableLinkedTreeUtils { private raw; private value; getValue(): LinkedTreeListNodeWithDrawInfo[]; private drawOptions; private valueMap; private constructor(); private initValue; /** * 根据id获取节点 */ getNodeById(id: string): LinkedTreeListNodeWithDrawInfo; /** * 根据id获取节点,没找到则报错 */ getNodeByIdOrFail(id: string): LinkedTreeListNodeWithDrawInfo; /** * 当前节点到其最深叶子节点的距离 * 没有子节点的节点的深度为 0 */ leafMaxDepth(node: LinkedTreeListNode): number; /** * 获取当前节点的所有子节点 */ getChildren(node: LinkedTreeListNode): LinkedTreeListNodeWithDrawInfo[]; /** * 获取当前节点的所有子孙节点 */ getDescendants(node: LinkedTreeListNode, level?: number): LinkedTreeListNodeWithDrawInfo[]; /** * 根据ids字符串获取节点列表 */ getNodeListByIds(ids: string): LinkedTreeListNodeWithDrawInfo[]; /** * 根据ids字符串,获取ids Set */ getIdsSet(ids: string): Set; /** * 获取当前节点的下一节点组 */ getNexts(node: LinkedTreeListNode): LinkedTreeListNodeWithDrawInfo[]; /** * 获取当前节点所在链条 */ getChain(node: LinkedTreeListNode): LinkedTreeListNodeWithDrawInfo[]; /** * 填充绘制信息 * value: LinkedTreeListNode[] => LinkedTreeListNodeWithDrawInfo[] */ private fillDrawInfoToValue; private fillDrawInfo; static fromList(data: LinkedTreeListNode[], drawOptions?: Partial): DrawableLinkedTreeUtils; } export {};