import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import * as L from 'leaflet';
import * as i0 from "@angular/core";
export declare class MapItem {
    id?: string;
    location: string;
}
export declare class MapComponent implements OnChanges, AfterViewInit {
    private _changeDetector;
    latLonItems: (MapItem | string)[];
    interactive: boolean;
    userLocation: string;
    selectedId: string | undefined;
    updateMap: any;
    selectedIdChange: EventEmitter<string>;
    leafletMap: ElementRef;
    map: L.Map;
    userLocationMarker: L.Marker;
    locationsMarkers: L.Marker[];
    private _userDivIcon;
    private _locationDivIcon;
    private _locationDivIconSelected;
    private _latLonItems;
    private _locationsLayer;
    private _tiles;
    constructor(_changeDetector: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    initMap(): void;
    private _setUserLocation;
    private _addUserMarker;
    private _updateUserMarker;
    private _removeUserMarker;
    private _setLocations;
    private _findLocationMarker;
    private _findLocationMarkerIndex;
    private _addLocationMarker;
    private _updateLocationMarker;
    private _setZoom;
    private _setIcons;
    private _locationIcon;
    private _parseStringLocations;
    private _parseStringLocation;
    private _defaultPosition;
    static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "ax-map", never, { "latLonItems": { "alias": "latLonItems"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; "userLocation": { "alias": "userLocation"; "required": false; }; "selectedId": { "alias": "selectedId"; "required": false; }; "updateMap": { "alias": "updateMap"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; }, never, never, false, never>;
}
