import type { MultiFn2O } from "@thi.ng/defmulti"; import { type IShape, type IntersectionResult } from "./api.js"; export interface IntersectOpts { /** * Force returning all intersections, if possible (and supported). */ all: boolean; } /** * Performs intersection tests on given 2 shapes and returns * [`IntersectionResult`](https://docs.thi.ng/umbrella/geom-isec/interfaces/IntersectionResult.html). * * @remarks * Currently supported pairs: * * - {@link AABB} / {@link AABB} * - {@link Circle} / {@link Circle} * - {@link Line} / {@link Group} * - {@link Line} / {@link Line} * - {@link Line} / {@link Polygon} * - {@link Line} / {@link Polyline} * - {@link Plane} / {@link Plane} * - {@link Ray} / {@link AABB} * - {@link Ray} / {@link Circle} * - {@link Ray} / {@link Line} * - {@link Ray3} / {@link Plane} * - {@link Ray} / {@link Polygon} * - {@link Ray} / {@link Polyline} * - {@link Ray} / {@link Quad} * - {@link Ray} / {@link Rect} * - {@link Ray3} / {@link Sphere} * - {@link Ray} / {@link Triangle} * - {@link Rect} / {@link Rect} * - {@link Sphere} / {@link Sphere} * * If {@link IntersectOpts.all} is enabled (default: false) and if the * intersection pair supports it, all possible intersections will be returned * (for some implementations this always the case anyway). Currently, this is * option is only implemented for the following pairings: * * - {@link Ray} / {@link Polygon} * - {@link Ray} / {@link Polyline} * * @param a * @param b * @param opts */ export declare const intersects: MultiFn2O, IntersectionResult>; //# sourceMappingURL=intersects.d.ts.map