import type { Face, Edge, Line, Point, Polygon, Multiline } from '../classes'; export type Intersection = { id: number; pt: Point; arc_length: number; edge_before: Edge | undefined; edge_after: Edge | undefined; face: Face; faceId: number; is_vertex: number; }; export type Intersections = { int_points1: Intersection[]; int_points2: Intersection[]; int_points1_sorted: Intersection[]; int_points2_sorted: Intersection[]; }; export declare function addToIntPoints(edge: Edge, pt: Point, int_points: Intersection[]): void; export declare function sortIntersections(intersections: Intersections): void; export declare function getSortedArray(int_points: Intersection[]): Intersection[]; export declare function getSortedArrayOnLine(line: Line, int_points: Intersection[]): Intersection[]; export declare function filterDuplicatedIntersections(intersections: Intersections): void; export declare function initializeInclusionFlags(int_points: Intersection[]): void; export declare function calculateInclusionFlags(int_points: Intersection[], polygon: Polygon): void; export declare function setOverlappingFlags(intersections: Intersections): void; export declare function intPointsPoolCount(int_points: Intersection[], cur_int_point_num: number, cur_face: Face): number; export declare function splitByIntersections(polygon: Polygon | Multiline, int_points: Intersection[]): void; export declare function insertBetweenIntPoints(int_point1: Intersection, int_point2: Intersection, new_edge: Edge): void; //# sourceMappingURL=smart_intersections.d.ts.map