import { Direction } from '../../math/geometry/direction'; import { Point } from '../../math/geometry/point'; import { RBNode } from '../../math/RBTree/rbNode'; import { RBTree } from '../../math/RBTree/rbTree'; import { BasicObstacleSide } from './BasicObstacleSide'; import { ScanDirection } from './ScanDirection'; export declare class RectilinearScanLine { scanDirection: ScanDirection; SideTree: RBTree; private linePositionAtLastInsertOrRemove; constructor(scanDir: ScanDirection, start: Point); Insert(side: BasicObstacleSide, scanPos: Point): RBNode; get Count(): number; Remove(side: BasicObstacleSide, scanPos: Point): void; Find(side: BasicObstacleSide): RBNode; NextLowB(side: BasicObstacleSide): RBNode; NextLowR(sideNode: RBNode): RBNode; NextHighB(side: BasicObstacleSide): RBNode; NextHighR(sideNode: RBNode): RBNode; Next(dir: Direction, sideNode: RBNode): RBNode; Lowest(): RBNode; Compare(first: BasicObstacleSide, second: BasicObstacleSide): number; }