import { Point } from '../../math/geometry/point'; import { RBNode } from '../../math/RBTree/rbNode'; import { RBTree } from '../../math/RBTree/rbTree'; import { BasicReflectionEvent } from './basicReflectionEvent'; import { ScanDirection } from './ScanDirection'; export declare class LookaheadScan { eventTree: RBTree; findFirstPred: (b: BasicReflectionEvent) => boolean; scanDirection: ScanDirection; staleSites: Array; findFirstPoint: Point; constructor(scanDir: ScanDirection); Add(initialSite: BasicReflectionEvent): void; MarkStaleSite(siteEvent: BasicReflectionEvent): void; RemoveStaleSites(): void; RemoveSitesForFlatBottom(low: Point, high: Point): void; Find(site: Point): RBNode; RemoveExact(initialSite: BasicReflectionEvent): boolean; FindFirstInRange(low: Point, high: Point): RBNode; CompareToFindFirstPoint(treeItem: Point): number; FindNextInRange(prev: RBNode, high: Point): RBNode; CompareBB(lhs: BasicReflectionEvent, rhs: BasicReflectionEvent): number; Compare(lhs: Point, rhs: Point): number; }