import { default as OlMap } from 'ol/Map';
import type { EventsKey } from 'ol/events';
import { IClusterPointParams, IFindSignalControlAreaParams, IFindSumoParams, IStartGetClickCoordinatesParams as IGetClickCoordinatesParams, IHighlightSignalControlAreaParams, ILayerVisibleParams, IMaskParam, IOverlayParam, ISetMapCameraParams, ISetMapCenterParams, IShowEdpassDeviceParams, IShowGreenWaveBandParams, IShowJurisdictionParams, IShowOdLinesParams, IShowOpenDriveFromFileParams, IShowRoadFlowParams, IShowRoadsectIndexParams, IShowSignalControlAreaParams, IShowSignalCrossParams, IShowSignalSystemNoShapeParams, IShowSignalSystemParams, IShowSubSignalSystemParams, IStartDrawParams, IUnselectSumoParams } from '../types';
import DrawController from './utils/draw-controller';
import EChartsUtils from './utils/echarts';
import GreenWaveBandController from './utils/green-wave-band-controller';
import HoloFlowController from './utils/holo-flow/holo-flow-controller';
import OlMapInitializer from './utils/ol-map-initializer';
import OpenDriveRenderer from './utils/open-drive/open-drive-renderer';
import ClusterPointController from './utils/overlay/cluster-point-controller';
import OverlayController from './utils/overlay/overlay-controller';
import PassDeviceController from './utils/pass-device-controller-1';
import PoliceAreaController from './utils/police-area-controller';
import SignalAreaController from './utils/signal-control/signal-area-controller';
import SignalCrossController from './utils/signal-control/signal-cross-controller';
import SignalSystemController from './utils/signal-control/signal-system-controller';
import SignalSystemControllerNoShape from './utils/signal-control/signal-system-controller-no-shape';
import SumoRenderer from './utils/sumo/sumo-renderer';
import ThematicMap from './utils/thematic';
declare const _sfc_main: import("vue").DefineComponent<{
    config: {
        type: StringConstructor;
        required: true;
    };
    assetsRoot: {
        type: StringConstructor;
        required: false;
    };
}, {
    mapContainer: import("vue").Ref<any>;
    mapInitializer: OlMapInitializer;
    map: OlMap;
    viewEventKeys: EventsKey[];
    lastEmittedZoomInt: number | null;
    emitZoomIfChanged: (z: number) => void;
    signalCrossController: SignalCrossController;
    signalSystemController: SignalSystemController;
    signalSystemControllerNoShape: SignalSystemControllerNoShape;
    clusterPointController: ClusterPointController;
    policeAreaController: PoliceAreaController;
    overlayController: OverlayController;
    passDeviceController: PassDeviceController;
    greenWaveBandController: GreenWaveBandController;
    signalAreaController: SignalAreaController;
    drawController: DrawController;
    holoFlowController: HoloFlowController;
    eChartsUtils: EChartsUtils;
    openDriveRenderer: OpenDriveRenderer;
    thematicMap: ThematicMap;
    sumoRenderer: SumoRenderer;
    setMapCenter: (params: ISetMapCenterParams) => Promise<import("../types").IResult>;
    setMapCamera: (params: ISetMapCameraParams) => Promise<import("../types").IResult>;
    setLayerVisibility: (params: ILayerVisibleParams) => Promise<import("../types").IResult>;
    setMapZoom: (params: {
        zoom: number;
    }) => import("../types").IResult;
    getClickCoordinates: (params: IGetClickCoordinatesParams) => () => void;
    showSignalCross: (params: IShowSignalCrossParams) => import("../types").IResult;
    changeSignalCrossShowName: (showName: 'detail' | 'crossName' | 'signalId') => void | {
        success: boolean;
        message: string;
    };
    clearSignalCross: () => void;
    showSignalSystem: (params: IShowSignalSystemParams) => Promise<import("../types").IResult> | {
        status: number;
        message: string;
    };
    removeSignalSystem: (areaCode?: string | undefined) => void | {
        success: boolean;
        message: string;
    };
    showSubSignalSystem: (params: IShowSubSignalSystemParams) => Promise<import("../types").IResult>;
    removeSubSignalSystem: (subCode?: string | undefined) => void | {
        success: boolean;
        message: string;
    };
    highlightSignalSystem: (params: IHighlightSignalControlAreaParams) => import("../types").IResult;
    resetHighlightSignalSystem: () => void | {
        status: number;
        message: string;
    };
    showSubSignalSystemNoShape: (params: IShowSignalSystemNoShapeParams) => Promise<void>;
    clearSubSignalSystemNoShape: () => void;
    highlightSubSignalSystemNoShape: (subareaId: string) => void;
    addClusterPoints: (params: IClusterPointParams) => void;
    removeAllClusterPoints: () => void;
    showPoliceArea: (params: IShowJurisdictionParams) => Promise<void>;
    clearPoliceArea: () => void;
    addOverlays: (params: IOverlayParam) => import("../types").IResult;
    removeOverlaysById: (ids: string[] | string) => void;
    removeOverlaysByType: (type: string[] | string) => void;
    removeAllOverlays: () => void;
    addMask: (params: IMaskParam) => void;
    removeMask: () => void;
    flashOverlay: (params: {
        id: string;
        duration?: number;
    }) => void;
    stopFlashOverlay: (params?: {
        id: string;
    } | undefined) => void | {
        status: number;
        message: string;
    };
    setEdpassLayerVisibility: (params: IShowEdpassDeviceParams) => Promise<import("../types").IResult>;
    showGreenWaveBand: (params: IShowGreenWaveBandParams) => void;
    removeGreenWaveBand: (bandId?: string | undefined) => void;
    showSignalControlArea: (params: IShowSignalControlAreaParams) => import("../types").IResult;
    clearSignalControlArea: () => void;
    highlightSignalControlArea: (params: IFindSignalControlAreaParams) => void | {
        status: number;
        message: string;
    };
    resetHighlightSignalControlArea: () => void | {
        status: number;
        message: string;
    };
    setSignalControlAreaVisibility: (params: ILayerVisibleParams) => import("../types").IResult;
    showDistrictArea: (params: IShowSignalControlAreaParams) => Promise<void>;
    showSubDistrictArea: (params: IShowSignalControlAreaParams) => Promise<void>;
    startDraw: (params: IStartDrawParams) => void;
    stopDraw: () => void;
    clearDraw: () => void;
    handleHoloVehicleTraceData: (vehicleTrace: any) => Promise<void>;
    showODLines: (params: IShowOdLinesParams) => void;
    clearODLines: () => void;
    showRandomODLines: (params: any) => void;
    showTrace: (params: any) => void;
    showOpenDriveFromFile: (params: IShowOpenDriveFromFileParams) => Promise<import("../types").IResult>;
    clearOpenDrive: () => Promise<void>;
    selectComputableInOpenDrive: (params: IFindSumoParams) => Promise<void>;
    unselectSumoInOpenDrive: (params: IUnselectSumoParams) => Promise<void>;
    showSumoFromFile: (params: IShowOpenDriveFromFileParams) => Promise<{
        status: number;
        message: string;
    }>;
    clearSumo: () => Promise<void>;
    showRoadFlowThematicMap: (params: IShowRoadFlowParams) => void;
    clearRoadFlowThematicMap: () => void;
    showRoadsectIndexThematicMap: (params: IShowRoadsectIndexParams) => Promise<void>;
    clearRoadsectIndexThematicMap: () => void;
    props: any;
    emit: (event: "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", ...args: any[]) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick" | "update:zoom")[], "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    config: {
        type: StringConstructor;
        required: true;
    };
    assetsRoot: {
        type: StringConstructor;
        required: false;
    };
}>> & {
    onMapLoaded?: ((...args: any[]) => any) | undefined;
    onMarkerClick?: ((...args: any[]) => any) | undefined;
    onMapClick?: ((...args: any[]) => any) | undefined;
    "onUpdate:zoom"?: ((...args: any[]) => any) | undefined;
}, {}, {}>;
export default _sfc_main;
