import type { TransformData } from '../../math/Transform'; import { Transform } from '../../math/Transform'; export interface TreeNode { name?: string; transform: Transform; children: TreeNode[]; id: string; tree: Tree; } export interface TreeNodeOptions { name?: string; transform?: TransformData; children?: number[]; id?: string; } export interface TreeOptions { nodes: TreeNodeOptions[]; children: number[]; } export declare class Tree { private _allNodes; private _nodes; private cacheMap; get nodes(): TreeNode[]; readonly transform: Transform; constructor(props: TreeOptions, rootTransform: Transform); getNodeById(indexOrInd: string | number): TreeNode | undefined; /** * if node id not found,use tree.transform * @param indexOrInd */ getNodeTransform(indexOrInd: string | number): Transform; private build; }