import Graphic from '@arcgis/core/Graphic';
import { Polygon } from '@arcgis/core/geometry';
export default class Cross {
    /** 路口id */
    private id;
    /** 路口中心点 */
    private crossCenter;
    /** 按道路存放的路口周边车道、停止线 */
    private nearbyFeatures;
    /** 此路口的所有进口道 */
    private entrances;
    /** 此路口的所有出口道 */
    private exits;
    initialized: boolean;
    constructor(params: {
        id: string;
        center: number[];
    });
    /**
     * 初始化路口，设置周边车道与停止线
     * @param params
     */
    initialize(params: {
        lanes: Graphic[];
        stopLines: Graphic[];
    }): Promise<void>;
    /**
     * 标注车道序号的信息，进口道序号+车道序号
     * @returns
     */
    getLaneNumberInfo(): {
        crossId: string;
        laneNumber: string;
        stopLineCenter: number[];
        laneDirection: number;
    }[];
    /**
     * 计算路口指标计算区域。
     * 由相邻进口道的停止线延长线交点围成的区域
     */
    calCrossIndicatorArea(): Promise<Polygon | undefined>;
    /**
     * 创建进口道与出口道，并得到道口的车道与车道停止线
     */
    private createEntranceAndExit;
    /**
     * 进口道排序
     */
    private orderEntrance;
    private findExitOfEntrance;
}
