import { Box3, Matrix4 } from 'three'; import { GeometryType } from '../batching/Batch.js'; import { type GeometryData } from '../converter/Geometry.js'; import { MinimalMaterial, type DisplayStyle, type RenderMaterial } from '../materials/Materials.js'; import { SpeckleType } from '../loaders/GeometryConverter.js'; import { ChunkArray } from '../converter/VirtualArray.js'; export interface NodeRenderData { id: string; subtreeId: number; speckleType: SpeckleType; geometry: GeometryData; renderMaterial: RenderMaterial | null; displayStyle: DisplayStyle | null; colorMaterial: MinimalMaterial | null; } export declare class NodeRenderView { private _batchId; private _batchIndexStart; private _batchIndexCount; private _batchVertexStart; private _batchVertexEnd; private readonly _renderData; private _materialHash; private _geometryType; private _guid; private _aabb; /** TO DO: Not sure if we should store it */ get guid(): string; get renderData(): NodeRenderData; get renderMaterialHash(): number; get hasGeometry(): ({ POSITION: ChunkArray; INDEX: ChunkArray; } & { COLOR?: ChunkArray | undefined; NORMAL?: ChunkArray | undefined; UV?: ChunkArray | undefined; TANGENT?: ChunkArray | undefined; }) | null; get hasMetadata(): import("../../IViewer.js").SpeckleObject | undefined; get speckleType(): SpeckleType; get geometryType(): GeometryType; get batchStart(): number; get batchEnd(): number; get batchCount(): number; get batchId(): string; get aabb(): Box3; set aabb(value: Box3); get transparent(): boolean; get vertStart(): number; get vertEnd(): number; get needsSegmentConversion(): boolean; get validGeometry(): boolean; constructor(data: NodeRenderData); setBatchData(id: string, start: number, count: number, vertStart?: number, vertEnd?: number): void; computeAABB(transform?: Matrix4): void; private getGeometryType; disposeGeometry(): void; }