import { NgZone } from '@angular/core';
import { MarkerClustererOptions } from '@googlemaps/markerclusterer';
import { Observable } from 'rxjs';
import { MapsApiWrapper, NgMapsMarkerComponent } from '@ng-maps/core';
import { GoogleMapsMarkerManager } from '@ng-maps/google';
import { MarkerClusterComponent } from '../../directives/marker-cluster';
import * as i0 from "@angular/core";
export declare class ClusterManager extends GoogleMapsMarkerManager {
    private _clustererInstance;
    private _resolver?;
    constructor(_mapsWrapper: MapsApiWrapper, _zone: NgZone);
    createCluster(options: MarkerClustererOptions): Promise<void>;
    /**
     * @todo fix commented options
     * @param marker
     */
    addMarker(marker: NgMapsMarkerComponent): Promise<void>;
    deleteMarker(marker: NgMapsMarkerComponent): Promise<void>;
    clearMarkers(): Promise<void>;
    createClusterEventObservable<T>(eventName: string, marker: MarkerClusterComponent): Observable<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClusterManager, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ClusterManager>;
}
