import { ISpecification } from "../../api";
import { INode } from "../../support/node";
import { WayPoint } from "./IMarker";
export declare abstract class AbstractMap {
    spec: ISpecification;
    abstract readonly minZoom: number;
    abstract readonly maxZoom: number;
    abstract readonly defaultZoom: number;
    defaultMarkerIcon: string;
    defaultSelectedMarkerIcon: string;
    protected constructor(spec: ISpecification);
    abstract setMarkersToValue(wrapper: INode): void;
    abstract resetAllMarkers(): void;
    abstract init(wrapper: INode): HTMLElement;
    render: (className: string) => HTMLElement;
    getMarkerIconSrc: () => string;
    getSelectedMarkerIconSrc: () => string;
    getZoom(): number;
    getCenter(): WayPoint;
    setLabel(text: string, wrapper: INode): void;
    static getMarkersFromSrc: (src: string) => Promise<any>;
    wrapper(className: string): INode;
    addMarkersToForm(wrapper: INode, selectedMarkers: Array<any>): void;
    includeScripts: (scripts: string[]) => Promise<{}>;
}
