import { Box3 } from 'three';
import { GeometryType } from '../batching/Batch';
import { GeometryData } from '../converter/Geometry';
import { DisplayStyle, RenderMaterial } from '../materials/Materials';
import { SpeckleType } from '../loaders/GeometryConverter';
export interface NodeRenderData {
    id: string;
    subtreeId: number;
    speckleType: SpeckleType;
    geometry: GeometryData;
    renderMaterial: RenderMaterial;
    displayStyle: DisplayStyle;
}
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;
    get guid(): string;
    get renderData(): NodeRenderData;
    get renderMaterialHash(): number;
    get hasGeometry(): Partial<Record<import("../converter/Geometry").GeometryAttributes, number[]>>;
    get hasMetadata(): import("./DataTree").SpeckleObject;
    get speckleType(): SpeckleType;
    get geometryType(): GeometryType;
    get batchStart(): number;
    get batchEnd(): number;
    get batchCount(): number;
    get batchId(): string;
    get aabb(): 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(): void;
    getGeometryType(): GeometryType;
    disposeGeometry(): void;
}
