/**
 * @desc A star
 */
export default class AStar {
    private path;
    sc: number;
    keyPoints: any[];
    keyPointMap: any;
    openList: any[];
    closeList: any[];
    invalidList: any[];
    searchCount: number;
    beginTime: Date;
    endTime: Date;
    beginNode: any;
    endNode: any;
    private beginVertical;
    private endVertical;
    constructor(path: any[]);
    private shortestPath;
    private contain;
    private remove;
    private f;
    private g;
    private h;
    private euclidianCost;
    private getNearest;
    /**
     * @desc 最佳线路计算
     */
    calcShortestPath(begin: number[], end: number[]): any;
    /**
     * @desc 线路优化
     */
    private trackOptimize;
    /**
     * @desc 获取点到各个线段上最近的一条线段和相关信息
     * 需要返回距离，来筛选最近的线段
     * dist：一般来说是点和垂点的距离 dist。但是需要判断如果垂点在直线外部，就计算点到线段两端的距离 min dist
     * 拿到 dist 循环筛选出最近的即可。
     * point：表示距离点最近的线段端点，主要用来a星算法
     * vertical：表示垂点，主要用来补充线段
     */
    private nearestPointOnLine;
    /**
     * @desc 求点C在由点A、点B组成的直线的垂点
     */
    private getVerticalPoint;
    /**
     * @desc 计算两个坐标连线后的倾斜角度
     */
    private getAngle;
    /**
     * @desc 判断p是否在p1和p2的线段内
     */
    private isInLine;
}
