import { NgZone } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import * as mapTypes from './google-maps-types'; import { Polyline } from './google-maps-types'; import { PolylineOptions } from './google-maps-types'; import { MapsAPILoader } from './maps-api-loader/maps-api-loader'; /** * Wrapper class that handles the communication with the Google Maps Javascript * API v3 */ export declare class GoogleMapsAPIWrapper { private _loader; private _zone; private _map; private _mapResolver; constructor(_loader: MapsAPILoader, _zone: NgZone); createMap(el: HTMLElement, mapOptions: mapTypes.MapOptions): Promise; setMapOptions(options: mapTypes.MapOptions): void; /** * Creates a google map marker with the map context */ createMarker(options?: mapTypes.MarkerOptions): Promise; createInfoWindow(options?: mapTypes.InfoWindowOptions): Promise; /** * Creates a google.map.Circle for the current map. */ createCircle(options: mapTypes.CircleOptions): Promise; createPolyline(options: PolylineOptions): Promise; createPolygon(options: mapTypes.PolygonOptions): Promise; /** * Determines if given coordinates are insite a Polygon path. */ containsLocation(latLng: mapTypes.LatLngLiteral, polygon: mapTypes.Polygon): Promise; subscribeToMapEvent(eventName: string): Observable; setCenter(latLng: mapTypes.LatLngLiteral): Promise; getZoom(): Promise; getBounds(): Promise; setZoom(zoom: number): Promise; getCenter(): Promise; panTo(latLng: mapTypes.LatLng | mapTypes.LatLngLiteral): Promise; fitBounds(latLng: mapTypes.LatLngBounds | mapTypes.LatLngBoundsLiteral): Promise; panToBounds(latLng: mapTypes.LatLngBounds | mapTypes.LatLngBoundsLiteral): Promise; /** * Returns the native Google Maps Map instance. Be careful when using this instance directly. */ getNativeMap(): Promise; /** * Triggers the given event name on the map instance. */ triggerMapEvent(eventName: string): Promise; }