import { Point } from './common.js'; /** * Returns true if the two lines intersect. */ declare function doesLineIntersectLine([a1, a2]: [Point, Point], [b1, b2]: [Point, Point], { lineThickness, }?: { lineThickness?: number; }): boolean; /** * Returns true if the two segments intersect. */ declare function doSegmentsIntersect(p1: Point, q1: Point, p2: Point, q2: Point): boolean; /** * Returns 0 if the points are colinear, 1 if they are clockwise, and 2 if they are counterclockwise. */ declare function orientation(p: Point, q: Point, r: Point): number; /** * Returns true if q is on the segment p->r. */ declare function onSegment(p: Point, q: Point, r: Point): boolean; /** * Returns the minimum distance between a point and a segment. */ declare function pointToSegmentDistance(p: Point, v: Point, w: Point): number; /** * Returns the distance between two points. */ declare function distance(p1: Point, p2: Point): number; /** * Calculates the intersection point of two line segments. * Returns the intersection point {x, y} if the segments intersect, otherwise returns null. */ declare function getSegmentIntersection(a: Point, b: Point, u: Point, v: Point): Point | null; declare function doesSegmentIntersectRect(a: Point, b: Point, rect: { minX: number; minY: number; maxX: number; maxY: number; }): boolean; export { distance, doSegmentsIntersect, doesLineIntersectLine, doesSegmentIntersectRect, getSegmentIntersection, onSegment, orientation, pointToSegmentDistance };