///
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { ExgMapDataLayerComponent } from '../../exg-map-data-layer/exg-map-data-layer.component';
import { ExgMapGoogleAPIWrapper } from '../exg-map-google-api-wrapper.service';
/**
* Manages all Data Layers for a Google Map instance.
*/
export declare class ExgMapDataLayerManagerService {
private _wrapper;
private _zone;
private _layers;
constructor(_wrapper: ExgMapGoogleAPIWrapper, _zone: NgZone);
/**
* Adds a new Data Layer to the map.
*/
addDataLayer(layer: ExgMapDataLayerComponent): void;
deleteDataLayer(layer: ExgMapDataLayerComponent): void;
updateGeoJson(layer: ExgMapDataLayerComponent, geoJson: object | string): void;
setDataOptions(layer: ExgMapDataLayerComponent, options: google.maps.Data.DataOptions): void;
/**
* Creates a Google Maps event listener for the given DataLayer as an Observable
*/
createEventObservable(eventName: string, layer: ExgMapDataLayerComponent): Observable;
/**
* Extract features from a geoJson using google.maps Data Class
* @param d : google.maps.Data class instance
* @param geoJson : url or geojson object
*/
getDataFeatures(d: google.maps.Data, geoJson: object | string): Promise;
}
//# sourceMappingURL=exg-map-data-layer-manager.service.d.ts.map