import type { Circle2Like } from './circle2'; import type { Vec2, Vec2Like } from './types'; /** 2D AABB storage: [minX, minY, maxX, maxY]. */ export type Box2 = Float32Array & { readonly __box2: void; }; /** Readable 2D AABB input. */ export type Box2Like = ArrayLike; /** Create a 2D AABB. The default is the inverted-infinity empty box. */ export declare function create(minX?: number, minY?: number, maxX?: number, maxY?: number): Box2; /** Create an AABB from its center and non-negative half-size. */ export declare function fromCenter(out: Box2, center: Vec2Like, halfSize: Vec2Like): Box2; /** Build the tightest AABB containing the given points. */ export declare function fromPoints(out: Box2, points: readonly Vec2Like[]): Box2; /** Write the box center to out. Empty boxes produce non-finite values. */ export declare function center(out: Vec2, box: Box2Like): Vec2; /** Write the box half-size to out. */ export declare function halfSize(out: Vec2, box: Box2Like): Vec2; /** Write the closest point in the box to point. */ export declare function closestPoint(out: Vec2, box: Box2Like, point: Vec2Like): Vec2; /** True when point is inside the box, including its boundary. */ export declare function containsPoint(box: Box2Like, point: Vec2Like): boolean; /** True when the box completely contains other, including touching edges. */ export declare function containsBox(box: Box2Like, other: Box2Like): boolean; /** True when two boxes overlap, including touching edges. */ export declare function intersectsBox(a: Box2Like, b: Box2Like): boolean; /** True when a box and a circle overlap, including tangent contact. */ export declare function intersectsCircle(box: Box2Like, circle: Circle2Like): boolean; /** Return the smallest box containing a and b. */ export declare function merge(out: Box2, a: Box2Like, b: Box2Like): Box2; /** Grow the box by a non-negative amount on each side. */ export declare function grow(out: Box2, box: Box2Like, amount: Vec2Like): Box2; /** Shrink the box by a non-negative amount on each side. */ export declare function shrink(out: Box2, box: Box2Like, amount: Vec2Like): Box2; //# sourceMappingURL=box2.d.ts.map