import { Point } from '../../math/geometry/point'; import { RBTree } from '../../math/RBTree/rbTree'; import { VisibilityGraph } from '../visibility/VisibilityGraph'; import { ScanSegment } from './ScanSegment'; import { ScanSegmentTree } from './ScanSegmentTree'; declare class SegEvent { constructor(eventType: SegEventType, seg: ScanSegment); EventType: SegEventType; Segment: ScanSegment; get IsVertical(): boolean; get Site(): Point; ToString(): string; } declare enum SegEventType { VOpen = 0, VClose = 1, HOpen = 2 } export declare class SegmentIntersector { eventList: Array; findFirstHSeg: ScanSegment; visGraph: VisibilityGraph; verticalSegmentsScanLine: RBTree; findFirstPred: (s: ScanSegment) => boolean; segmentsWithoutVisibility: Array; constructor(); IsVSegInHSegRange(v: ScanSegment): boolean; Generate(hSegments: Array, vSegments: Array): VisibilityGraph; OnSegmentOpen(seg: ScanSegment): void; OnSegmentClose(seg: ScanSegment): void; RemoveSegmentsWithNoVisibility(horizontalScanSegments: ScanSegmentTree, verticalScanSegments: ScanSegmentTree): void; ScanInsert(seg: ScanSegment): void; ScanRemove(seg: ScanSegment): void; ScanIntersect(hSeg: ScanSegment): void; Compare(first: SegEvent, second: SegEvent): number; CompareSS(first: ScanSegment, second: ScanSegment): number; } export {};