///
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { MarkerClusterService } from '../abstract/abstract-marker-cluster';
import { H21MapMarkerClusterDirective } from '../../directives/h21-map-marker-cluster.directive';
import { CircleEvent } from '../../models/circle-event.model';
import { MarkerClusterFilter } from '../../models/marker-cluster-filter.model';
export declare class MapboxDataLayerService extends MarkerClusterService {
private _zone;
private layers;
private _layer;
constructor(_zone: NgZone);
updateMarkerCluster(layer: H21MapMarkerClusterDirective): void;
addMarkerCluster(layer?: H21MapMarkerClusterDirective): void;
createOverlay(layer?: H21MapMarkerClusterDirective): void;
removeMarkerCluster(layer?: H21MapMarkerClusterDirective): void;
removeMarkerClusters(): void;
removeFeature(layer: H21MapMarkerClusterDirective): void;
createEvent(eventName: string, layer: H21MapMarkerClusterDirective): Observable;
createEventMouseOver(layer: H21MapMarkerClusterDirective): Observable;
createEventMouseOut(layer: H21MapMarkerClusterDirective): Observable;
createEventMouseClick(layer: H21MapMarkerClusterDirective): Observable;
setModeCircle(CircleOptions: CircleEvent): void;
setFilter(filter: MarkerClusterFilter): void;
updateStyle(id: number, position: any): void;
clearMarkerCluster(): void;
getBounds(): Observable;
private _createDataLayer;
private _addDataStyles;
private _createOverlay;
private _redrawStyle;
private _createOptionsRedraw;
private _createOptions;
private _removeFeature;
private _createEventField;
private _overrideStyle;
private _eventPosition;
private _clusterFitbounds;
}