import { Box3, BufferGeometry, Sphere } from 'three';
import { IPointCloudGeometryNode } from '../types';
import { OctreeGeometry } from './octree-geometry';
export declare class OctreeGeometryNode implements IPointCloudGeometryNode {
    name: string;
    octreeGeometry: OctreeGeometry;
    boundingBox: Box3;
    constructor(name: string, octreeGeometry: OctreeGeometry, boundingBox: Box3);
    loaded: boolean;
    loading: boolean;
    failed: boolean;
    parent: OctreeGeometryNode | null;
    geometry: BufferGeometry | undefined;
    nodeType?: number;
    byteOffset?: bigint;
    byteSize?: bigint;
    hierarchyByteOffset?: bigint;
    hierarchyByteSize?: bigint;
    hasChildren: boolean;
    spacing: number;
    density?: number;
    isLeafNode: boolean;
    readonly isTreeNode: boolean;
    readonly isGeometryNode: boolean;
    readonly children: ReadonlyArray<OctreeGeometryNode | null>;
    static IDCount: number;
    id: number;
    index: number;
    boundingSphere: Sphere;
    tightBoundingBox: Box3;
    numPoints: number;
    level: number;
    oneTimeDisposeHandlers: Function[];
    getLevel(): number;
    isLoaded(): boolean;
    getBoundingSphere(): Sphere;
    getBoundingBox(): Box3;
    load(): Promise<void>;
    getNumPoints(): number;
    dispose(): void;
    traverse(cb: (node: OctreeGeometryNode) => void, includeSelf?: boolean): void;
}
