import type { GlobalPoint, LocalPoint, Polygon } from "./types"; export declare function polygon(...points: Point[]): Polygon; export declare function polygonFromPoints(points: Point[]): Polygon; export declare const polygonIncludesPoint: (point: Point, polygon: Polygon) => boolean; export declare const polygonIncludesPointNonZero: (point: Point, polygon: Point[]) => boolean; export declare function polygonIsClosed(polygon: readonly Point[], tolerance?: number): boolean; /** * The signed area of a polygon via the shoelace formula. Positive when the * vertices wind counter-clockwise in a y-down coordinate system. * * The polygon may be given open or closed; a closing vertex */ export declare function polygonSignedArea(polygon: readonly Point[], tolerance?: number): number; export declare function polygonArea(polygon: readonly Point[], tolerance?: number): number; /** * The convex hull of a point set via Andrew's monotone chain. * * @returns The hull vertices in counter-clockwise order (y-down), without a * repeated closing vertex. */ export declare function convexHull(points: readonly Point[]): Point[]; /** * Drop the points of a convex polygon that only contribute a shallow turn, * merging each run of near-collinear points into one. * * @param polygon A convex polygon, as returned by `convexHull`. * @param angleThreshold Minimum accumulated turn (radians) for a vertex to be * kept. */ export declare function simplifyConvexPolygon(polygon: readonly Point[], angleThreshold: number): Point[];