import { Matrix4 } from 'three'; import { type TreeNode, WorldTree } from './WorldTree.js'; import { NodeRenderView } from './NodeRenderView.js'; import { GeometryConverter, SpeckleType } from '../loaders/GeometryConverter.js'; export declare class RenderTree { private tree; private root; private cancel; buildNodeTime: number; applyTransformTime: number; convertTime: number; getNodeTime: number; otherTime: number; private count; get id(): string; get subtreeId(): number; constructor(tree: WorldTree, subtreeRoot: TreeNode); buildRenderTree(geometryConverter: GeometryConverter, countCallback?: (count: number) => void): Promise; private applyTransforms; private buildRenderNode; private getRenderMaterialNode; private getDisplayStyleNode; private getColorMaterialNode; computeTransform(node: TreeNode): Matrix4; getInstances(): { [id: string]: Record; }; getDuplicates(): { [id: string]: Record; }; getRenderableRenderViews(...types: SpeckleType[]): NodeRenderView[]; getRenderableNodes(...types: SpeckleType[]): TreeNode[]; getRenderViewsForNode(node: TreeNode): NodeRenderView[]; getRenderViewNodesForNode(node: TreeNode): TreeNode[]; getRenderViewsForNodeId(id: string, subtreeId?: number): NodeRenderView[] | null; getAtomicParent(node: TreeNode): TreeNode; purge(): void; /** TO DO: Need to purge only if currently building */ cancelBuild(): void; }