import { Vector3 } from 'three/src/math/Vector3';
import { Matrix4 } from 'three/src/math/Matrix4';
import { Meshnode } from '../../pwfreader/PWFTypes';
export declare class KDTree {
    private MAX_CHILDREN_PER_NODE;
    private readonly root;
    private frustum;
    private queue;
    private readonly result;
    meshnodes: Meshnode[];
    constructor();
    cullTree(cameraPosition: Vector3, frustumMatrix: Matrix4, detailsParam: number): {
        opaques: Set<Meshnode>;
        transparents: Set<Meshnode>;
    };
    buildTree(meshnodes: Meshnode[]): {
        isComplete: boolean;
    };
    collectMeshnodes(cameraPosition: Vector3, detailsFactor: number): {
        opaques: Set<Meshnode>;
        transparents: Set<Meshnode>;
    };
}
