import { DefineComponent, ExtractPropTypes, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare var __VLS_1: {
    map: any;
    AMap: any;
    isMapReady: boolean;
    trackInfo: any;
}, __VLS_3: {
    isOpen: any;
    position: {
        lng: number;
        lat: number;
    };
    data: any;
    closePopup: () => void;
};
type __VLS_Slots = {} & {
    customUI?: (props: typeof __VLS_1) => any;
} & {
    popup?: (props: typeof __VLS_3) => any;
};
declare const _default: __VLS_WithSlots< DefineComponent<ExtractPropTypes<{
    amapKey: {
        type: StringConstructor;
        required: true;
    };
    securityJsCode: {
        type: StringConstructor;
        default: string;
    };
    version: {
        type: StringConstructor;
        default: string;
    };
    plugins: {
        type: ArrayConstructor;
        default: () => string[];
    };
    mapOptions: {
        type: ObjectConstructor;
        default: () => {
            center: number[];
            zoom: number;
            viewMode: string;
            resizeEnable: boolean;
            showIndoorMap: boolean;
            zooms: number[];
        };
    };
    mapStyleId: {
        type: StringConstructor;
        default: string;
    };
    controls: {
        type: ObjectConstructor;
        default: () => {
            toolBar: boolean;
            scale: boolean;
            geolocation: boolean;
        };
    };
    defaultStyles: {
        type: ObjectConstructor;
        default: () => {
            marker: {
                icon: string;
                offset: number[];
            };
            polyline: {
                strokeColor: string;
                strokeWeight: number;
                strokeOpacity: number;
            };
            polygon: {
                fillColor: string;
                fillOpacity: number;
                strokeColor: string;
                strokeWeight: number;
            };
        };
    };
    trackMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    originalTrackData: {
        type: ArrayConstructor;
        default: () => never[];
    };
    showTrackPanel: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableCorrection: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxGapDistance: {
        type: NumberConstructor;
        default: number;
    };
    simplifyTolerance: {
        type: NumberConstructor;
        default: number;
    };
    autoFitBounds: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoRotateCar: {
        type: BooleanConstructor;
        default: boolean;
    };
    speed: {
        type: NumberConstructor;
        default: number;
    };
    carIcon: {
        type: StringConstructor;
        default: string;
    };
    carIconSize: {
        type: ObjectConstructor;
        default: () => {
            width: number;
            height: number;
        };
    };
    trackColor: {
        type: StringConstructor;
        default: string;
    };
    trackWidth: {
        type: NumberConstructor;
        default: number;
    };
    showStartEndMarkers: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoPlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    drivingMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultFollowCar: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderClusterMarker: {
        type: FunctionConstructor;
        default: null;
    };
}>, {
    initMap: () => Promise<void>;
    setCenter: (position: any, animate?: boolean) => void;
    getCenter: () => any[] | null;
    setZoom: (zoom: any) => any;
    getZoom: () => any;
    fitBounds: (points: any, padding?: number) => void;
    getMapInstance: () => any;
    getAMap: () => any;
    addMarker: (options: any) => any;
    addMarkers: (list: any) => any;
    clearMarkers: () => void;
    removeMarker: (marker: any) => void;
    addPolyline: (options: any) => any;
    clearPolylines: () => void;
    addPolygon: (options: any) => any;
    clearPolygons: () => void;
    addCircle: (options: any) => any;
    clearCircles: () => void;
    clearAllOverlays: () => void;
    addMarkerCluster: (points: any, options?: any) => any;
    clearMarkerCluster: () => void;
    addHeatmap: (data: any, options?: any) => any;
    updateHeatmapData: (data: any, max: any) => void;
    removeHeatmap: () => void;
    reGeoCode: (position: any) => Promise<unknown>;
    geoCode: (address: any) => Promise<unknown>;
    openInfoWindow: (position: any, content: any, options?: any) => void;
    closeInfoWindow: () => void;
    startDraw: (type: any, options?: any) => void;
    playTrack: () => void;
    pauseTrack: () => void;
    stopTrack: () => void;
    resetTrack: () => void;
    fitTrackBounds: () => void;
    followCar: () => void;
    toggleFollowCar: () => void;
    getTrackPoints: () => any;
    getCurrentPosition: () => any;
    getTrackInfo: () => any;
    trackInit: () => void;
    removeTrack: () => void;
    isPlaying: Ref<boolean, boolean>;
    isMapReady: Ref<boolean, boolean>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    click: (...args: any[]) => void;
    ready: (...args: any[]) => void;
    rightClick: (...args: any[]) => void;
    doubleClick: (...args: any[]) => void;
    zoomEnd: (...args: any[]) => void;
    moveEnd: (...args: any[]) => void;
    markerClick: (...args: any[]) => void;
    markerDragEnd: (...args: any[]) => void;
    polylineClick: (...args: any[]) => void;
    polygonClick: (...args: any[]) => void;
    circleClick: (...args: any[]) => void;
    infoWindowClose: (...args: any[]) => void;
    clusterClick: (...args: any[]) => void;
    hotspotClick: (...args: any[]) => void;
    drawComplete: (...args: any[]) => void;
    trackReady: (...args: any[]) => void;
    trackPlay: (...args: any[]) => void;
    trackPause: (...args: any[]) => void;
    trackStop: (...args: any[]) => void;
    trackComplete: (...args: any[]) => void;
    trackPointChange: (...args: any[]) => void;
    trackCorrectionComplete: (...args: any[]) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    amapKey: {
        type: StringConstructor;
        required: true;
    };
    securityJsCode: {
        type: StringConstructor;
        default: string;
    };
    version: {
        type: StringConstructor;
        default: string;
    };
    plugins: {
        type: ArrayConstructor;
        default: () => string[];
    };
    mapOptions: {
        type: ObjectConstructor;
        default: () => {
            center: number[];
            zoom: number;
            viewMode: string;
            resizeEnable: boolean;
            showIndoorMap: boolean;
            zooms: number[];
        };
    };
    mapStyleId: {
        type: StringConstructor;
        default: string;
    };
    controls: {
        type: ObjectConstructor;
        default: () => {
            toolBar: boolean;
            scale: boolean;
            geolocation: boolean;
        };
    };
    defaultStyles: {
        type: ObjectConstructor;
        default: () => {
            marker: {
                icon: string;
                offset: number[];
            };
            polyline: {
                strokeColor: string;
                strokeWeight: number;
                strokeOpacity: number;
            };
            polygon: {
                fillColor: string;
                fillOpacity: number;
                strokeColor: string;
                strokeWeight: number;
            };
        };
    };
    trackMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    originalTrackData: {
        type: ArrayConstructor;
        default: () => never[];
    };
    showTrackPanel: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableCorrection: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxGapDistance: {
        type: NumberConstructor;
        default: number;
    };
    simplifyTolerance: {
        type: NumberConstructor;
        default: number;
    };
    autoFitBounds: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoRotateCar: {
        type: BooleanConstructor;
        default: boolean;
    };
    speed: {
        type: NumberConstructor;
        default: number;
    };
    carIcon: {
        type: StringConstructor;
        default: string;
    };
    carIconSize: {
        type: ObjectConstructor;
        default: () => {
            width: number;
            height: number;
        };
    };
    trackColor: {
        type: StringConstructor;
        default: string;
    };
    trackWidth: {
        type: NumberConstructor;
        default: number;
    };
    showStartEndMarkers: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoPlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    drivingMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultFollowCar: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderClusterMarker: {
        type: FunctionConstructor;
        default: null;
    };
}>> & Readonly<{
    onClick?: ((...args: any[]) => any) | undefined;
    onReady?: ((...args: any[]) => any) | undefined;
    onRightClick?: ((...args: any[]) => any) | undefined;
    onDoubleClick?: ((...args: any[]) => any) | undefined;
    onZoomEnd?: ((...args: any[]) => any) | undefined;
    onMoveEnd?: ((...args: any[]) => any) | undefined;
    onMarkerClick?: ((...args: any[]) => any) | undefined;
    onMarkerDragEnd?: ((...args: any[]) => any) | undefined;
    onPolylineClick?: ((...args: any[]) => any) | undefined;
    onPolygonClick?: ((...args: any[]) => any) | undefined;
    onCircleClick?: ((...args: any[]) => any) | undefined;
    onInfoWindowClose?: ((...args: any[]) => any) | undefined;
    onClusterClick?: ((...args: any[]) => any) | undefined;
    onHotspotClick?: ((...args: any[]) => any) | undefined;
    onDrawComplete?: ((...args: any[]) => any) | undefined;
    onTrackReady?: ((...args: any[]) => any) | undefined;
    onTrackPlay?: ((...args: any[]) => any) | undefined;
    onTrackPause?: ((...args: any[]) => any) | undefined;
    onTrackStop?: ((...args: any[]) => any) | undefined;
    onTrackComplete?: ((...args: any[]) => any) | undefined;
    onTrackPointChange?: ((...args: any[]) => any) | undefined;
    onTrackCorrectionComplete?: ((...args: any[]) => any) | undefined;
}>, {
    controls: Record<string, any>;
    securityJsCode: string;
    version: string;
    plugins: unknown[];
    mapOptions: Record<string, any>;
    mapStyleId: string;
    defaultStyles: Record<string, any>;
    trackMode: boolean;
    originalTrackData: unknown[];
    showTrackPanel: boolean;
    enableCorrection: boolean;
    maxGapDistance: number;
    simplifyTolerance: number;
    autoFitBounds: boolean;
    autoRotateCar: boolean;
    speed: number;
    carIcon: string;
    carIconSize: Record<string, any>;
    trackColor: string;
    trackWidth: number;
    showStartEndMarkers: boolean;
    autoPlay: boolean;
    drivingMode: boolean;
    defaultFollowCar: boolean;
    renderClusterMarker: Function;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
