import { Point } from './point'; import { Polyline } from './polyline'; type HullPoint = { point: Point; deleted: boolean; stamp: number; }; type HullStack = { point: Point; next: HullStack; }; export declare class ConvexHull { hullPoints: HullPoint[]; pivot: Point; stack: HullStack; stamp: number; constructor(bodyPoints: Iterable); SetPivotAndAllocateHullPointsArray(bodyPoints: Iterable): void; get StackTopPoint(): Point; get StackSecondPoint(): Point; static CalculateConvexHull(pointsOfTheBody: Iterable): IterableIterator; Calculate(): IterableIterator; EnumerateStack(): IterableIterator; Scan(): void; LeftTurnToPivot(): boolean; StackHasMoreThanTwoPoints(): boolean; Pop(): void; LeftTurn(i: number): boolean; BackSwitchOverPivot(point: Point): boolean; Push(p: number): void; SortAllPointsWithoutPivot(): void; static createConvexHullAsClosedPolyline(points: Iterable): Polyline; } export {};