import { Box2, Vector2 } from 'three'; export declare class Range2 { min: number; max: number; constructor(min: number, max: number); } export declare enum Direction { Up = 1, Down = 2, Left = 3, Right = 4 } export interface Rectangle { left: number; right: number; top: number; bottom: number; } export interface BoundingBox2 extends Rectangle { box: Box2; center: Vector2; size: Vector2; } export declare function intersectBoundingBox2(p: Vector2, b: BoundingBox2): boolean; export declare class BoundingBox2FromBox2 implements BoundingBox2 { box: Box2; constructor(box: Box2); center: Vector2; size: Vector2; left: any; right: any; top: any; bottom: any; update(bb: BoundingBox2): void; } export declare class BoundingBox2FromCenterSize implements BoundingBox2 { center: Vector2; size: Vector2; constructor(center: Vector2, size: Vector2); box: Box2; left: number; right: number; top: number; bottom: number; updateRight(v: any): BoundingBox2FromLRTB; updateLeft(v: any): BoundingBox2FromLRTB; updateBottom(v: any): BoundingBox2FromLRTB; updateTop(v: any): BoundingBox2FromLRTB; copy(bb: BoundingBox2): void; } export declare class BoundingBox2FromLRTB implements BoundingBox2 { left: number; right: number; top: number; bottom: number; constructor(left: number, right: number, top: number, bottom: number); readonly box: Box2; center: Vector2; size: Vector2; copy(bb: BoundingBox2): void; } export declare class Boundingbox2Controller { box: BoundingBox2; scale: number; leftBox: BoundingBox2; rightBox: BoundingBox2; bottomBox: BoundingBox2; topBox: BoundingBox2; anyBox: BoundingBox2; constructor(box: BoundingBox2, scale: number); leftController(): BoundingBox2FromLRTB; rightController(): BoundingBox2FromLRTB; bottomController(): BoundingBox2FromLRTB; topController(): BoundingBox2FromLRTB; anyController(): BoundingBox2FromLRTB; onWhichAreabox(position: Vector2): "left" | "right" | "none" | "top" | "bottom" | "inside"; } export declare function moveBoundingBox2By(box: BoundingBox2, offset: Vector2): BoundingBox2FromCenterSize; export declare function moveBoundingBox2To(box: BoundingBox2, target: Vector2): BoundingBox2FromCenterSize;