/// <reference types="@types/amap-js-api" />
import { OnInit, OnDestroy, EventEmitter, SimpleChanges, OnChanges, QueryList, AfterContentInit, NgZone } from '@angular/core';
import { AmapMarkerClustererService, AMapMarkerClusterer } from './amap-marker-clusterer.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { EventBinderService } from '../../shared/event-binder.service';
import { PixelService } from '../../shared/pixel.service';
import { SizeService } from '../../shared/size.service';
import { AmapMarkerDirective } from '../amap-marker/amap-marker.directive';
import { AMapService } from '../../shared/amap.service';
export declare class AmapMarkerClustererDirective implements OnInit, OnChanges, OnDestroy, AfterContentInit {
    protected os: AmapMarkerClustererService;
    protected binder: EventBinderService;
    private amaps;
    private pixels;
    private sizes;
    private logger;
    private ngZone;
    /**
     * 聚合计算时网格的像素大小，默认60
     */
    gridSize: number;
    /**
     * 聚合的最小数量。默认值为2，即小于2个点则不能成为一个聚合
     */
    minClusterSize: number;
    /**
     * 最大的聚合级别，大于该级别就不进行相应的聚合。默认值为18
     */
    maxZoom: number;
    /**
     * 聚合点的图标位置是否是所有聚合内点的中心点。默认为否
     */
    averageCenter: boolean;
    /**
     * 指定聚合后的点标记的图标样式，可缺省，缺省时为默认样式
     */
    styles: AMapMarkerClusterer.StyleObject[];
    /**
     * 该方法用来实现聚合点的自定义绘制
     */
    renderClusterMarker: (obj: {
        count: number;
        markers: AMap.Marker<any>[];
        marker: AMap.Marker<any>;
    }) => void;
    /**
     * 点击聚合点时，是否散开，默认值为：true
     */
    zoomOnClick: boolean;
    naReady: EventEmitter<any>;
    naClick: EventEmitter<any>;
    markerList: QueryList<AmapMarkerDirective>;
    private inited;
    constructor(os: AmapMarkerClustererService, binder: EventBinderService, amaps: AMapService, pixels: PixelService, sizes: SizeService, logger: LoggerService, ngZone: NgZone);
    ngOnDestroy(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    private updateMarkers;
    /**
     * 获取已创建的 AMap.MarkerClusterer 对象
     */
    get(): import("rxjs").Observable<any>;
}
