import { IBoundingBox } from '../interfaces/IBoundingBox'; import { ITransformData } from '../interfaces/ITransformData'; import { IVector } from '../interfaces/IVectorData'; import { ArrayFull, ArrayFull2 } from '../interfaces/typeHelpers'; import { Transform } from './Transform'; import { Vector } from './Vector'; export declare class BoundingBox implements IBoundingBox { transform: Transform; static cube(): BoundingBox; static fromTransform(transform: ITransformData): BoundingBox; static fromDomRect(domRect: { height: number; width: number; x: number; y: number; }): BoundingBox; static merge(...boundingBoxes: ArrayFull): BoundingBox; static fromPoints(...points: ArrayFull2): BoundingBox; protected constructor(transform: Transform); /** * Get size of the bounding box */ get size(): Vector; /** * Get width of the bounding box */ get width(): number; /** * Get width of the bounding box */ get height(): number; /** * Get rotation of the bounding box */ get rotation(): number; /** * Get center point of the bounding box */ get center(): Vector; /** * Get top-left point of the bounding box * * 🟥🟦 * 🟦🟦 */ get topLeft(): Vector; /** * Get top-right point of the bounding box * * 🟦🟥 * 🟦🟦 */ get topRight(): Vector; /** * Get bottom-left point of the bounding box * * 🟦🟦 * 🟥🟦 */ get bottomLeft(): Vector; /** * Get bottom-right point of the bounding box * * 🟦🟦 * 🟦🟥 */ get bottomRight(): Vector; intersects(position: Vector): boolean; applyTransform(transform: ITransformData): void; private corner2D; toString(): string; }