import { Point3 } from './Point3';
export declare class Cube {
    readonly halfWidthX: number;
    readonly halfWidthY: number;
    readonly halfHeight: number;
    bottom: number;
    top: number;
    backX: number;
    backY: number;
    frontX: number;
    frontY: number;
    readonly volume: number;
    centerX: number;
    centerY: number;
    centerZ: number;
    readonly randomX: number;
    readonly randomY: number;
    readonly randomZ: number;
    empty: boolean;
    static size(a: Cube, output: Point3): Point3;
    static clone(a: Cube, output: Cube): Cube;
    static contains(a: Cube, x: number, y: number, z: number): boolean;
    static containsXY(a: Cube, x: number, y: number): boolean;
    static containsPoint3(a: Cube, point3: Point3): boolean;
    static containsCube(a: Cube, b: Cube): boolean;
    static intersects(a: Cube, b: Cube): boolean;
    x: number;
    y: number;
    z: number;
    widthX: number;
    widthY: number;
    height: number;
    constructor(x?: number, y?: number, z?: number, widthX?: number, widthY?: number, height?: number);
    private __corners;
    setTo(x: number, y: number, z: number, widthX: number, widthY: number, height: number): this;
    copyFrom(source: any): this;
    copyTo(dest: any): this;
    size(output: Point3): Point3;
    contains(x: number, y: number, z: number): boolean;
    containsXY(x: number, y: number): boolean;
    clone(output: Cube): Cube;
    intersects(b: Cube): boolean;
    getCorners(): Point3[];
    toString(): string;
}
