import { Polyline } from '../../math/geometry'; import { Point } from '../../math/geometry/point'; import { PolylinePoint } from '../../math/geometry/polylinePoint'; import { PointMap } from '../../utils/PointMap'; import { VisibilityEdge } from './VisibilityEdge'; import { VisibilityVertex } from './VisibilityVertex'; export declare class VisibilityGraph { activeVertices: Set; private edges_; get Edges(): IterableIterator; ClearPrevEdgesTable(): void; ShrinkLengthOfPrevEdge(v: VisibilityVertex, lengthMultiplier: number): void; PreviosVertex(v: VisibilityVertex): VisibilityVertex; SetPreviousEdge(v: VisibilityVertex, e: VisibilityEdge): void; VertexFactory: (p: Point) => VisibilityVertex; pointToVertexMap: PointMap; AddHole(polyline: Polyline): void; static OrientHolesClockwise(holes: Iterable): IterableIterator; AddVertexP(point: Point): VisibilityVertex; AddVertexV(vertex: VisibilityVertex): void; ContainsVertex(point: Point): boolean; static AddEdgeVV(source: VisibilityVertex, target: VisibilityVertex): VisibilityEdge; AddEdgePlPl(source: PolylinePoint, target: PolylinePoint): void; static AddEdge(edge: VisibilityEdge): void; AddEdgeF(source: Point, target: Point, edgeCreator: (a: VisibilityVertex, b: VisibilityVertex) => VisibilityEdge): VisibilityEdge; AddEdgePP(source: Point, target: Point): VisibilityEdge; FindVertex(point: Point): VisibilityVertex; Vertices(): IterableIterator; RemoveVertex(vertex: VisibilityVertex): void; FindEdgePP(source: Point, target: Point): VisibilityEdge; static RemoveEdge(edge: VisibilityEdge): void; ClearEdges(): void; }