import MapView from '@arcgis/core/views/MapView';
import SceneView from '@arcgis/core/views/SceneView';
import { IBlockOpenDriveLaneParams, IClusterPointParams, IEditSignalControlAreaParams, IFindSignalControlAreaParams, IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowEdpassDeviceParams, IShowGreenWaveBandParams, IShowJurisdictionParams, IShowOpenDriveFromFileParams, IShowSignalControlAreaParams, IShowSignalSystemParams, IShowSubSignalSystemParams, ISignalCountdownProps, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
import DbscanCluster from './utils/dbscan-cluster';
import EdpassDeviceController from './utils/edpass-device-controller';
import GreenWaveBandController from './utils/green-wave-band-controller';
import HoloFlow from './utils/holo-flow';
import MapInitializer from './utils/map-initializer';
import OpenDriveRenderer from './utils/open-drive-renderer';
import Overlay from './utils/overlay';
import PoliceJurisdiction from './utils/police-jurisdiction';
import QueueLength from './utils/queue-length';
import RoadConfigTool from './utils/road-config-tool';
import EditSignalArea from './utils/signal-control-area/edit-area';
import SignalAreaController from './utils/signal-control-area/signal-area-controller';
import SignalCrossController from './utils/signal-control-area/signal-cross-controller';
import SignalSystemController from './utils/signal-system/signal-system-controller';
import TrafficFlow from './utils/traffic-flow';
declare const _sfc_main: import("vue").DefineComponent<{
    config: {
        type: StringConstructor;
        required: true;
    };
    assetsRoot: {
        type: StringConstructor;
        required: false;
    };
}, {
    mapContainer: import("vue").Ref<any>;
    view: MapView | SceneView;
    mapInitializer: MapInitializer;
    roadConfigTool: RoadConfigTool;
    trafficFlow: TrafficFlow;
    holoFlow: HoloFlow;
    overlay: Overlay;
    queueLength: QueueLength;
    openDriveRenderer: OpenDriveRenderer;
    editSignalAreaController: EditSignalArea;
    signalAreaController: SignalAreaController;
    signalCrossController: SignalCrossController;
    greenWaveBandController: GreenWaveBandController;
    policeJurisdictionController: PoliceJurisdiction;
    edpassDeviceController: EdpassDeviceController;
    dbscanCluster: DbscanCluster;
    signalSystemController: SignalSystemController;
    showLogDiv: import("vue").Ref<boolean>;
    appDataStore: import("pinia").Store<"appData", {
        mapConfig: {};
        saveTrackLog: boolean;
        isSketching: boolean;
        mapInitializer: MapInitializer;
        olMapInitializer: import("../gis-map-ol/utils/ol-map-initializer").default;
        countdownPanels: ISignalCountdownProps[];
    }, {}, {}>;
    countdownPanelProps: {
        flash: boolean;
        displayMode: string;
        crossId: string;
        roadId: string;
        mapPoint: number[];
        stopLine: number[][];
        position: {
            left: number;
            top: number;
        };
        rotation: number;
        scale: number;
        lampStatus: {
            uNumber?: number | undefined;
            uColor?: string | undefined;
            lNumber?: number | undefined;
            lColor?: string | undefined;
            sNumber?: number | undefined;
            sColor?: string | undefined;
            rNumber?: number | undefined;
            rColor?: string | undefined;
        };
    }[];
    scaleToZoom: (scale: number) => number;
    removeZoomWatch: (() => void) | null;
    lastEmittedZoomInt: number | null;
    emitZoomIfChanged: (z: number) => void;
    mapViewer: import("vue").ComputedRef<MapView | SceneView>;
    handleStartSaveTrackLog: () => void;
    handleDownloadTrackLog: () => void;
    handleShowVehicleId: () => void;
    handleShowPlateNumber: () => void;
    setMapCenter: (params: ISetMapCenterParams) => Promise<import("../types").IResult>;
    setMapCamera: (params: ISetMapCameraParams) => Promise<import("../types").IResult>;
    setMapZoom: (params: {
        zoom: number;
    }) => import("../types").IResult;
    lookAt: (params: ILookAtParams) => Promise<void>;
    setLayerVisibility: (params: ILayerVisibleParams) => Promise<import("../types").IResult>;
    requestCoordinateTransform: (points: number[][], callback: (points: number[][]) => void) => {
        handle: number;
        points: number[][];
    };
    cancelCoordinateTransform: (handle: number) => void;
    setMapZoomRange: (zoomRange: {
        min?: number;
        max?: number;
    }) => void;
    showLaneNumber: (params: ILaneNumberParams) => import("../types").IResult;
    clearLaneNumber: () => void;
    initializeAreaTool: (params: IStartCrossBufferParam) => Promise<import("../types").IResult>;
    calCrossIndicatorArea: () => Promise<void>;
    calRoadIndicatorArea: () => Promise<void>;
    connectCarFlow: (url: string, options?: any) => Promise<void>;
    disconnectCarFlow: () => void;
    handleHoloVehicleTraceData: (vehicleTrace: any) => Promise<void>;
    clearHoloTrace: () => void;
    setInterpolate: (enable: boolean) => void;
    handleHoloSignalData: (signalData: any) => Promise<void>;
    initializeLampGroup: (data: any) => Promise<void>;
    handleUniSignalData: (signalData: any) => void;
    clearHoloSignal: () => void;
    toggleTrafficInfo: (params: IToggleTrafficInfoParams) => void;
    togglePause: (pause: boolean) => void;
    toggleTrafficObject: (params: IToggleTrafficInfoParams) => void;
    toggleVehicleInfo: (contentType: string) => void;
    addOverlays: (params: IOverlayParam) => Promise<import("../types").IResult>;
    flashOverlay: (params: {
        id: string;
        duration?: number;
    }) => Promise<void | {
        status: number;
        message: string;
    }>;
    stopFlashOverlay: (params?: {
        id: string;
    } | undefined) => Promise<void | {
        status: number;
        message: string;
    }>;
    addClusterPoints: (params: IClusterPointParams) => Promise<void>;
    removeAllClusterPoints: () => void;
    addMask: (params: IMaskParam) => void;
    removeMask: () => void;
    removeOverlaysByType: (types: string[] | string) => import("../types").IResult;
    removeOverlaysById: (ids: string[] | string) => import("../types").IResult;
    removeAllOverlays: () => import("../types").IResult;
    showAllOverlays: () => void;
    updateQueueLength: (params: IQueueLengthParams[]) => void;
    removeQueueLength: () => void;
    showOpenDriveFromServer: (server: string, projectName: string) => Promise<import("../types").IResult>;
    showOpenDriveFromFile: (params: IShowOpenDriveFromFileParams) => Promise<import("../types").IResult>;
    setOpendriveVisibility: (visible: boolean) => void | {
        status: number;
        message: string;
    };
    clearOpenDrive: () => Promise<void>;
    findSumoInOpenDrive: (params: IFindSumoParams) => Promise<import("../types").IResult>;
    selectSumoInOpenDrive: (params: IFindSumoParams) => Promise<import("../types").IResult>;
    unselectSumoInOpenDrive: (params?: IUnselectSumoParams | undefined) => Promise<import("../types").IResult>;
    selectComputableInOpenDrive: (params: IFindSumoParams) => Promise<void | {
        status: number;
        message: string;
    }>;
    geometrySearchInOpenDrive: (params: any) => Promise<import("../types").IResult>;
    getSumoInfo: (params: IFindSumoParams) => Promise<import("../types").IResult>;
    splitOpenDriveLane: (params: ISplitOpenDriveLaneParams) => Promise<import("../types").IResult>;
    clearSplitOpenDriveLane: () => Promise<void | {
        status: number;
        message: string;
    }>;
    blockOpenDriveLane: (params: IBlockOpenDriveLaneParams) => Promise<void | {
        status: number;
        message: string;
    }>;
    clearBlockOpenDriveLane: (params: IBlockOpenDriveLaneParams) => void | {
        status: number;
        message: string;
    };
    showSignalControlArea: (params: IShowSignalControlAreaParams) => Promise<import("../types").IResult>;
    showDistrictArea: (params: IShowSignalControlAreaParams) => Promise<void>;
    showSubDistrictArea: (params: IShowSignalControlAreaParams) => Promise<void>;
    clearSignalControlArea: () => Promise<import("../types").IResult>;
    setSignalControlAreaVisibility: (params: ILayerVisibleParams) => import("../types").IResult;
    locateSignalControlArea: (params: IFindSignalControlAreaParams) => Promise<import("../types").IResult>;
    highlightSignalControlArea: (params: IFindSignalControlAreaParams) => Promise<{
        status: number;
        message: string;
    }>;
    resetHighlightSignalControlArea: () => Promise<{
        status: number;
        message: string;
    }> | {
        status: number;
        message: string;
    };
    showSubSignalControlArea: (params: any) => import("../types").IResult;
    editSubSignalControlArea: (params: IEditSignalControlAreaParams) => Promise<import("../types").IResult> | {
        status: number;
        message: string;
    };
    stopEditSubSignalControlArea: () => void | {
        status: number;
        message: string;
    };
    selectSubSignalControlAreaCross: (id: string) => import("../types").IResult;
    unselectSubSignalControlAreaCross: (id: string) => import("../types").IResult;
    changeSubSignalControlAreaBorderVisibility: (params: any) => {
        status: number;
        message: string;
    } | undefined;
    showSignalCross: (params: any) => import("../types").IResult;
    clearSignalCross: () => void | {
        status: number;
        message: string;
    };
    changeSignalCrossShowName: (nameType: string) => void | {
        status: number;
        message: string;
    };
    showSignalSystem: (params: IShowSignalSystemParams) => Promise<import("../types").IResult>;
    showSubSignalSystem: (params: IShowSubSignalSystemParams) => Promise<import("../types").IResult>;
    removeSubSignalSystem: (code?: string | undefined) => import("../types").IResult;
    removeSignalSystem: (areaCode: string) => import("../types").IResult;
    highlightSignalSystem: (params: IFindSignalControlAreaParams) => {
        status: number;
        message: string;
    };
    resetHighlightSignalSystem: () => {
        status: number;
        message: string;
    };
    addGreenWaveBand: (params: IEditSignalControlAreaParams) => void;
    stopAddGreenWaveBand: () => {
        status: number;
        message: string;
    } | undefined;
    showGreenWaveBand: (params: IShowGreenWaveBandParams) => Promise<void>;
    removeGreenWaveBand: (bandId?: string | undefined) => {
        status: number;
        message: string;
    } | undefined;
    showPoliceArea: (params: IShowJurisdictionParams) => Promise<import("../types").IResult>;
    clearPoliceArea: () => {
        status: number;
        message: string;
    } | undefined;
    setEdpassLayerVisibility: (params: IShowEdpassDeviceParams) => Promise<import("../types").IResult>;
    props: any;
    emit: (event: "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", ...args: any[]) => void;
    SignalCountdownPanel: import("vue").DefineComponent<{
        displayMode: {
            type: StringConstructor;
            required: true;
        };
        flash: {
            type: BooleanConstructor;
            required: true;
        };
        crossId: {
            type: StringConstructor;
            required: true;
        };
        roadId: {
            type: StringConstructor;
            required: true;
        };
        mapPoint: {
            type: ArrayConstructor;
            required: true;
        };
        stopLine: {
            type: ArrayConstructor;
            required: true;
        };
        scale: {
            type: NumberConstructor;
            required: true;
        };
        position: {
            type: ObjectConstructor;
            required: true;
        };
        rotation: {
            type: NumberConstructor;
            required: true;
        };
        lampStatus: {
            type: ObjectConstructor;
            required: true;
        };
    }, {
        colors: string[];
        props: any;
        panelStyle: import("vue").ComputedRef<{
            top: string;
            left: string;
            'transform-origin': string;
            transform: string;
        }>;
        blImage: import("vue").ComputedRef<string>;
        blNumberStyle: import("vue").ComputedRef<any>;
        blLampStyle: import("vue").ComputedRef<{
            display: string;
            animation: string;
        }>;
        uImage: import("vue").ComputedRef<string>;
        uNumberStyle: import("vue").ComputedRef<any>;
        uLampStyle: import("vue").ComputedRef<{
            display: string;
            animation: string;
        }>;
        lImage: import("vue").ComputedRef<string>;
        lNumberStyle: import("vue").ComputedRef<any>;
        lLampStyle: import("vue").ComputedRef<{
            display: string;
            animation: string;
        }>;
        sImage: import("vue").ComputedRef<string>;
        sNumberStyle: import("vue").ComputedRef<any>;
        sLampStyle: import("vue").ComputedRef<{
            display: string;
            animation: string;
        }>;
        rImage: import("vue").ComputedRef<string>;
        rNumberStyle: import("vue").ComputedRef<any>;
        rLampStyle: import("vue").ComputedRef<{
            display: string;
            animation: string;
        }>;
        getColorString: (color: string | undefined) => "red" | "rgb(255, 192, 2)" | "lime" | "white";
        getNumberStyle: (color: string | undefined) => any;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        displayMode: {
            type: StringConstructor;
            required: true;
        };
        flash: {
            type: BooleanConstructor;
            required: true;
        };
        crossId: {
            type: StringConstructor;
            required: true;
        };
        roadId: {
            type: StringConstructor;
            required: true;
        };
        mapPoint: {
            type: ArrayConstructor;
            required: true;
        };
        stopLine: {
            type: ArrayConstructor;
            required: true;
        };
        scale: {
            type: NumberConstructor;
            required: true;
        };
        position: {
            type: ObjectConstructor;
            required: true;
        };
        rotation: {
            type: NumberConstructor;
            required: true;
        };
        lampStatus: {
            type: ObjectConstructor;
            required: true;
        };
    }>>, {}, {}>;
}, 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;
