/// <reference types="heremaps" />
import { AbstractMap } from "../AbstractMap";
import { INode } from "../../../support/node";
import { ISpecification } from "../../../api";
export declare class HereMap extends AbstractMap {
    private API_CORE;
    private API_SERVICE;
    private API_UI;
    private API_EVENTS;
    private markers;
    private map;
    private markerIcon;
    private selectedMarkerIcon;
    readonly defaultZoom = 8;
    readonly maxZoom = 20;
    readonly minZoom = 0;
    constructor(spec: ISpecification);
    init(wrapper: INode): HTMLElement;
    createPlatform: () => any;
    initMap(wrapper: INode, platform: H.service.Platform): void;
    initMarkerIcons(): void;
    initMarkers(wrapper: INode): void;
    deactivateMarker(marker: H.map.DomMarker): void;
    activateMarker(marker: H.map.DomMarker): void;
    resetAllMarkers: () => void;
    calculateRoute(platform: H.service.Platform, routePoints?: string): void;
    onRoutingError: (error: Error) => void;
    onRoutingSuccess(result: H.service.ServiceResult): void;
    addRouteMarkersToMap(waypoints: Array<{
        mappedPosition: {
            latitude: number;
            longitude: number;
        };
        originalPosition: {
            latitude: number;
            longitude: number;
        };
    }>): void;
    private getRouteStartIcon;
    private getRouteEndIcon;
    addRouteShapeToMap(routeShape: string[]): void;
    setMarkersToValue(wrapper: INode): void;
    initAPI: () => Promise<{}>;
}
