import { Point, ICurve } from '../../..';
import { Polyline } from '../../../math/geometry';
import { CdtTriangle } from '../../ConstrainedDelaunayTriangulation/CdtTriangle';
import { BundleBase } from './BundleBase';
import { MetroNodeInfo } from './MetroNodeInfo';
export declare class Station {
    constructor(serialNumber: number, isRealNode: boolean, position: Point);
    SerialNumber: number;
    IsRealNode: boolean;
    Radius: number;
    Position: Point;
    Neighbors: Station[];
    BundleBases: Map<Station, BundleBase>;
    EnterableTightPolylines: Set<Polyline>;
    EnterableLoosePolylines: Set<Polyline>;
    MetroNodeInfos: Array<MetroNodeInfo>;
    BoundaryCurve: ICurve;
    static less(a: Station, b: Station): boolean;
    static greater(a: Station, b: Station): boolean;
    CdtTriangle: CdtTriangle;
    cachedRadiusCost: number;
    cachedBundleCost: number;
    private _cachedIdealRadius;
    get cachedIdealRadius(): number;
    set cachedIdealRadius(value: number);
    AddEnterableLoosePolyline(poly: Polyline): void;
    AddEnterableTightPolyline(poly: Polyline): void;
}
