import { Vector3 } from './wcVectors';
import PlannerElementData from './PlannerElementData';
/**
 * This class saves a Bounding box. This bounding box can be of one Planner (one Set) or for several planner elements (multiple Sets)
 */
export default class BoundingBox {
    private static readonly CLAMP_EPSILON;
    private worldPos;
    private size;
    private worldPosIgnoreOLF;
    private sizeIgnoreOLF;
    constructor();
    /**
     * This function initializes the new BoundingBox of a single Planner based on the boundingbox of the whole set.
     * The new Boundingbox has the world size one meter on the right of the global BoundingBox
     * @param globalBoundingBox
     */
    initPlannerBBox(globalBoundingBox: BoundingBox): void;
    calcCombinedBounds(boundingBoxes: BoundingBox[]): void;
    private calcCombinedBoundsFnc;
    calcPlannerBoundingBox(elements: PlannerElementData[]): void;
    calcPlannerBoundingBoxIgnoreOLF(elements: PlannerElementData[]): void;
    private calcPlannerBoundingBoxFnc;
    /**
     * This function returns the with of the bounding box
     * @param digitsAfterComma  The number of numbers after the comma
     */
    getWidth(digitsAfterComma?: number, ignoreOLF?: boolean): number;
    /**
     * This function returns the depth of the bounding box
     * @param digitsAfterComma  The number of numbers after the comma
     */
    getDepth(digitsAfterComma?: number, ignoreOLF?: boolean): number;
    /**
     * This function returns the height of the bounding box
     * @param digitsAfterComma  The number of numbers after the comma
     */
    getHeight(digitsAfterComma?: number, ignoreOLF?: boolean): number;
    get WorldPos(): Vector3;
    get Size(): Vector3;
    get WorldPosIgnoreOLF(): Vector3;
    get SizeIgnoreOLF(): Vector3;
}
//# sourceMappingURL=BoundingBox.d.ts.map