import { Arc, Face, Quadratic, Bezier } from './index'; import type { Point } from './Point'; import { Segment } from './Segment'; export type EdgeShape = Segment | Arc | Quadratic | Bezier; /** * Class representing an edge of polygon. Edge shape may be Segment or Arc. * Each edge contains references to the next and previous edges in the face of the polygon. */ export declare class Edge { static EMPTY: Readonly>>; /** Shape of the edge: Segment or Arc */ shape: T; /** Pointer to the next edge in the face */ next: Edge; /** Pointer to the previous edge in the face */ prev: Edge; /** Pointer to the face containing this edge */ face: Face; /** "Arc distance" from the face start */ arc_length: number; /** Start inclusion flag (inside/outside/boundary) */ bvStart: any; /** End inclusion flag (inside/outside/boundary) */ bvEnd: any; /** Edge inclusion flag (INSIDE, OUTSIDE, BOUNDARY) */ bv: any; /** Overlap flag for boundary edge (Overlap.SAME/Overlap.OPPOSITE) */ overlap: any; /** * Construct new instance of edge * @param shape Shape of type Segment or Arc */ constructor(shape: T); /** Get edge start point */ get start(): Point; /** Get edge end point */ get end(): Point; /** Get edge length */ get length(): number; /** Get bounding box of the edge */ get box(): import("./Box").Box; isSegment(): this is Edge; isArc(): this is Edge; /** Get middle point of the edge */ middle(): Point; /** Get point at given length */ pointAtLength(length: number): Point; /** Returns true if point belongs to the edge, false otherwise */ contains(pt: Point): boolean; /** * Set inclusion flag of the edge with respect to another polygon * Inclusion flag is one of INSIDE, OUTSIDE, BOUNDARY */ setInclusion(polygon: any): any; /** * Set overlapping between two coincident boundary edges * Overlapping flag is one of Overlap.SAME or Overlap.OPPOSITE */ setOverlap(edge: any): void; toJSON(): any; } //# sourceMappingURL=Edge.d.ts.map