import { IEditSignalControlAreaParams, IResult } from '../../../types';
export default class SignalControlAreaController {
    private view;
    private districtControllerLayer;
    private subDistrictControllerLayer;
    private crossLayer;
    private viewClickWatcher?;
    private readonly crossScale;
    private hasGpu;
    private openDriveServer;
    constructor(view: __esri.MapView | __esri.SceneView);
    /**
     * 显示单个子区
     * @param params
     * @returns
     */
    showSubSignalControlArea(params: any): IResult;
    /**
     * 点击路口时
     * @param event
     * @returns
     */
    private handleViewClick;
    private crossIdsInDistrict;
    /**
     * 显示周边的路口
     * @param crossIds
     * @returns
     */
    private showNearbyCrosses;
    private addCrossCallback;
    private removeCrossCallback;
    /**
     * 编辑子区的路口
     * @returns
     */
    editSubSignalControlArea(params: IEditSignalControlAreaParams): Promise<IResult>;
    stopEditSubSignalControlArea(): void;
    /**
     * 从外部接口选中一个路口
     * @param id
     */
    selectSubSignalControlAreaCross(id: string): IResult;
    /**
     * 从外部接口取消选中一个路口
     * @param id
     */
    unselectSubSignalControlAreaCross(id: string): IResult;
    /**
     * 在区控\子区\路口图层中查找对应的graphic
     * @param id
     * @returns
     */
    private findAreaGraphic;
    /**
     * 绘制区控与子区
     * @param districtController
     * @param isDistrict 是否是区控
     * @returns
     */
    private drawArea;
    /**
     * 显示子区时路口的样式
     * @param attributes
     * @returns
     */
    private getCrossSymbolInSubDistrict;
    /**
     * 生成路口点符号。在不同比例尺下，使用不同的符号
     * @param attributes
     * @param symbolType
     * @returns
     */
    private getCrossGraphicSymbol;
}
