import { Point } from '..'; import { Polyline } from '../math/geometry/polyline'; import { RectangleNode } from '../math/geometry/RTree/rectangleNode'; import { Shape } from './shape'; import { TightLooseCouple } from './TightLooseCouple'; import { Node } from '../structs/node'; export declare class ShapeObstacleCalculator { tightHierarchy: RectangleNode; coupleHierarchy: RectangleNode; loosePolylinesToNodes: Map>; RootOfLooseHierarchy: RectangleNode; constructor(shape: Shape, tightPadding: number, loosePadding: number, shapesToTightLooseCouples: Map); ShapesToTightLooseCouples: Map; tightToShapes: Map>; TightPadding: number; LoosePadding: number; MainShape: Shape; OverlapsDetected: boolean; Calculate(randomizationShift: number): void; FillTheMapOfShapeToTightLooseCouples(): void; TryMapShapeToTightLooseCouple(shape: Shape, tightLooseCouple: TightLooseCouple): void; static ShapeIsInsideOfPoly(shape: Shape, tightPolyline: Polyline): boolean; CreateTigthLooseCouples(randomizationShift: number): void; CreateTightObstacles(): void; InitialTightPolyline(shape: Shape): Polyline; LoosePolylinesUnderShape(shape: Shape): Array; }