export declare class Vec2 { x: number; y: number; constructor(x?: number, y?: number); set(x: number, y: number): Vec2; clone(): Vec2; copy(v: Vec2): Vec2; add(v: Vec2): Vec2; sub(v: Vec2): Vec2; multiply(scalar: number): Vec2; divide(scalar: number): Vec2; length(): number; lengthSq(): number; normalize(): Vec2; dot(v: Vec2): number; distanceTo(v: Vec2): number; distanceToSquared(v: Vec2): number; equals(v: Vec2): boolean; angle(): number; } export declare class Vec3 { x: number; y: number; z: number; constructor(x?: number, y?: number, z?: number); set(x: number, y: number, z: number): Vec3; clone(): Vec3; copy(v: Vec3): Vec3; add(v: Vec3): Vec3; sub(v: Vec3): Vec3; multiply(scalar: number): Vec3; divide(scalar: number): Vec3; length(): number; lengthSq(): number; normalize(): Vec3; dot(v: Vec3): number; cross(v: Vec3): Vec3; distanceTo(v: Vec3): number; distanceToSquared(v: Vec3): number; equals(v: Vec3): boolean; } export declare class Box3 { min: Vec3; max: Vec3; constructor(min?: Vec3, max?: Vec3); set(min: Vec3, max: Vec3): Box3; setFromPoints(points: Vec3[]): Box3; makeEmpty(): Box3; isEmpty(): boolean; expandByPoint(point: Vec3): Box3; expandByScalar(scalar: number): Box3; containsPoint(point: Vec3): boolean; containsBox(box: Box3): boolean; intersectsBox(box: Box3): boolean; getCenter(target?: Vec3): Vec3; getSize(target?: Vec3): Vec3; clone(): Box3; copy(box: Box3): Box3; union(box: Box3): Box3; equals(box: Box3): boolean; } export interface BoundingBox { min: { x: number; y: number; z: number; }; max: { x: number; y: number; z: number; }; } export declare function box3ToBoundingBox(box: Box3): BoundingBox; export declare function boundingBoxToBox3(bounds: BoundingBox): Box3;