import * as box2 from './box2'; import type { Vec2, Vec2Like } from './types'; /** 2D bounding circle storage: Float32Array [centerX, centerY, radius]. */ export type Circle2 = Float32Array & { readonly __circle2: void; }; /** Readable 2D bounding-circle input. */ export type Circle2Like = ArrayLike; /** Create a bounding circle. Negative radius is clamped to zero. */ export declare function create(cx?: number, cy?: number, radius?: number): Circle2; /** Build a circle centered at the point-cloud AABB center and enclosing all points. */ export declare function fromPoints(out: Circle2, points: readonly Vec2Like[]): Circle2; /** Build the smallest AABB containing the circle. */ export declare function toBox(out: box2.Box2, circle: Circle2Like): box2.Box2; /** Write the circle center to out. */ export declare function center(out: Vec2, circle: Circle2Like): Vec2; /** Return the circle radius. */ export declare function radius(circle: Circle2Like): number; /** Write the closest point in the circle to point. */ export declare function closestPoint(out: Vec2, circle: Circle2Like, point: Vec2Like): Vec2; /** True when point is inside the circle, including its boundary. */ export declare function containsPoint(circle: Circle2Like, point: Vec2Like): boolean; /** True when two circles overlap, including tangent contact. */ export declare function intersectsCircle(a: Circle2Like, b: Circle2Like): boolean; /** True when the circle overlaps the box, including tangent contact. */ export declare function intersectsBox(circle: Circle2Like, box: box2.Box2Like): boolean; /** Return the smallest circle containing both circles. */ export declare function merge(out: Circle2, a: Circle2Like, b: Circle2Like): Circle2; //# sourceMappingURL=circle2.d.ts.map