///
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { MapService } from '../abstract/abstract-map';
import { GoogleAddressService } from './google-address';
import { GoogleMarkerClusterService } from './google-marker-cluster';
import { GoogleEventService } from './google-event';
import { GoogleClusterService } from './google-cluster';
import { GoogleSearchService } from './google-search';
import { GoogleMarkerService } from './google-marker';
import { GoogleRouteService } from './google-route';
import { GoogleGeocodingService } from './google-geocoding';
import { GoogleGeoLocationService } from './google-geolocation';
import { GoogleConversionsService } from './google-conversions';
import { GoogleDrawingService } from './google-drawing';
import { GoogleDistanceService } from './google-distance';
import { GoogleBoundarService } from './google-boundar';
import { MarkerOptions } from '../../interfaces/marker-options.interface';
import { IPolylineOptions } from '../../interfaces/polyline-options.interface';
import { GoogleApiConfig } from '../../models/google/google-api-config.model';
import { Position } from '../../models/position.model';
import { ClientPosition } from '../../models/event-client-pixel.model';
import { MapOptions } from '../../models/map-options.model';
import { CursorType } from '../../enums/cursor-type.enum';
export declare class GoogleMapService extends MapService {
apiConfig: GoogleApiConfig;
address: GoogleAddressService;
markerCluster: GoogleMarkerClusterService;
drawing: GoogleDrawingService;
distance: GoogleDistanceService;
events: GoogleEventService;
marker: GoogleMarkerService;
cluster: GoogleClusterService;
search: GoogleSearchService;
route: GoogleRouteService;
geocoding: GoogleGeocodingService;
geoLocation: GoogleGeoLocationService;
conversions: GoogleConversionsService;
boundar: GoogleBoundarService;
private _zone;
overlayMap: google.maps.OverlayView;
constructor(apiConfig: GoogleApiConfig, address: GoogleAddressService, markerCluster: GoogleMarkerClusterService, drawing: GoogleDrawingService, distance: GoogleDistanceService, events: GoogleEventService, marker: GoogleMarkerService, cluster: GoogleClusterService, search: GoogleSearchService, route: GoogleRouteService, geocoding: GoogleGeocodingService, geoLocation: GoogleGeoLocationService, conversions: GoogleConversionsService, boundar: GoogleBoundarService, _zone: NgZone);
readonly scriptSelector: string;
readonly styleSelector: string;
readonly scriptId: string;
readonly scriptUrl: string;
createPolyline(polylineOptions: IPolylineOptions): Observable;
getMinZoom(): number;
getMaxZoom(): number;
getOverlay(): E;
createMarker(markerOptions?: MarkerOptions): Observable;
createMap(htmlElement: HTMLElement, mapOptions: MapOptions): Observable;
setZoom(zoom: number): void;
setMinZoom(zoom: number): void;
setMaxZoom(zoom: number): void;
setCenter(latitude: number, longitude: number, zoom: number): void;
setDraggable(enabled: any): void;
setScrollwheel(enabled: boolean): void;
setDoubleClickZoom(enabled: boolean): void;
setClick(enabled: boolean): void;
setDefaultCursor(cursor: CursorType): void;
setResize(): void;
setZoomIn(): void;
fitBounds(positions?: Position[]): void;
setZoomBox(enabled: any): void;
setZoomOut(): void;
setPanBy(clientX: number, clientY: number): void;
getZoom(): number;
fromLatLngToPixel(latitude: number, longitude: number): ClientPosition;
loadAPI(lang: any, apiKey: string): Observable;
matchExact(stringError: string): void;
getLanguageDictionary(): any;
getStaticUrl(latitude: number, longitude: number, iconUrl: string): string;
destroy(): void;
private _setImgCursor;
private _checkBounds;
}