///
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { H21MapRouteDirective } from '../../directives/h21-map-route.directive';
import { RouteService } from '../abstract/abstract-route';
import { GoogleRouteFlyService } from './google-route-fly';
import { GoogleRouteRailsService } from './google-route-rail';
import { GoogleRouteCarService } from './google-route-car';
import { GoogleRouteTransitService } from './google-route-transit';
import { GoogleRouteWalkService } from './google-route-walk';
export declare class GoogleRouteService extends RouteService {
fly: GoogleRouteFlyService;
railway: GoogleRouteRailsService;
car: GoogleRouteCarService;
transit: GoogleRouteTransitService;
walk: GoogleRouteWalkService;
private _zone;
routes: Map;
constructor(fly: GoogleRouteFlyService, railway: GoogleRouteRailsService, car: GoogleRouteCarService, transit: GoogleRouteTransitService, walk: GoogleRouteWalkService, _zone: NgZone);
getPatch(route: H21MapRouteDirective): Observable;
getRoute(route: H21MapRouteDirective): void;
createRoute(route: H21MapRouteDirective): Observable;
buildRoute(route: H21MapRouteDirective, patch: google.maps.LatLng[]): void;
addRoute(route: H21MapRouteDirective, patch: google.maps.LatLng[]): void;
removeRoute(route?: H21MapRouteDirective): void;
removeRoutes(): void;
createSymbol(route: H21MapRouteDirective): E;
createSymbolPatch(route: H21MapRouteDirective): google.maps.Symbol;
createSymbolIcons(symbol: google.maps.Symbol, route?: H21MapRouteDirective): google.maps.IconSequence;
fitBounds(): void;
getInfo(route: H21MapRouteDirective, result: any, pach: any): void;
private _getStaticUrl;
private _getPointPosition;
private _getOriginPosition;
private _getEncodePathRoute;
private _getEveryRoute;
private _getEncodePathMarkers;
private _getDistance;
private _getDuration;
private _getWayPointPosition;
}