import type { BoundingBox, Vector3 } from '../../types/Math';
import type { Meshnode } from '../../pwfreader/PWFTypes';
export declare class GlobalBoundingBox {
    private _refinedGlobalBbox;
    private userDefinedGlobalBbox;
    private pwfGlobalOffset;
    private pwfGlobalBbox;
    private zoomToGlobalParams;
    private meshnodes;
    private get refinedGlobalBbox();
    resetRefinedGlobalBbox(): void;
    constructor(params: {
        readonly meshnodes: Meshnode[];
        readonly globalOffset: Vector3;
        readonly globalBbox: BoundingBox;
        readonly userDefinedGlobalBbox: {
            min: Vector3;
            max: Vector3;
            rotation: Vector3;
        } | null;
        readonly zoomToGlobalParams: {
            spaceJunkEliminationThreshold: number;
        };
    });
    getGlobalBoundingBox(): THREE.Box3;
}
export declare let globalBoundingBox: GlobalBoundingBox;
export declare function initGlobalBoundingBoxSingleton(...params: ConstructorParameters<typeof GlobalBoundingBox>): void;
export declare function disposeGlobalBoundingBoxSingleton(): void;
