/// <reference types="googlemaps" />
import { ElementRef, QueryList } from "@angular/core";
import "leaflet-routing-machine";
import { MapDirectionsService } from "@angular/google-maps";
import { HttpClient } from "@angular/common/http";
import { AgentService } from "./agent.service";
import * as i0 from "@angular/core";
export declare class OpenStreetMapsService {
    private agentService;
    mapDirectionsService: MapDirectionsService;
    httpClient: HttpClient;
    myPosition: any;
    map: any;
    allMarkers: any;
    allTasksRoutes: any;
    selectedTaskRoutes: any;
    selectedTaskDistanceAndTime: any;
    directionsRenders: QueryList<ElementRef<google.maps.DirectionsRenderer>>;
    constructor(agentService: AgentService, mapDirectionsService: MapDirectionsService, httpClient: HttpClient);
    getPosition(): Promise<any>;
    getLocation(task: any): Promise<unknown>;
    getMarkersLocation(myMarker: any, tasks: any): Promise<unknown>;
    initializeMap(): Promise<void>;
    addMarker({ lat, lng, title, color }: {
        lat: any;
        lng: any;
        title: any;
        color: any;
    }): void;
    plotDirectionsForAllTasks(tasks: any): Promise<any>;
    plotDirectionsForSelectedTask(task: any): void;
    getSelectedTaskDistanceAndTime(): any;
    setSelectedTaskDistanceAndTime(): void;
    sortTasksAsPerDistance(order: any, tasks: any, isMarker: any): any[];
    setRoutes(markers: any, styles: any): any;
    fitMapBounds(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OpenStreetMapsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<OpenStreetMapsService>;
}
