import Event from '../event';
import DistMgr from './DistMgr';
import DistCounter from './DistCounter';
import { BaseRender } from './BaseRender';
import type { RenderOptions } from './BaseRender';
export type { RenderOptions, StyleOption, FeatureStyleByLevelOption } from './BaseRender';
export interface DistrictClusterOptions {
    map: AMap.Map;
    zIndex?: number;
    visible?: boolean;
    data: any[];
    getPosition: (dataItem: any, dataIndex: number) => AMap.LngLatLike;
    autoSetFitView?: boolean;
    topAdcodes?: number[];
    excludedAdcodes?: number[];
    renderOptions: RenderOptions;
}
declare type _OptOptions = Required<DistrictClusterOptions>;
declare class DistrictCluster extends Event {
    _opts: _OptOptions;
    map: AMap.Map;
    _distMgr: DistMgr;
    _distCounter: DistCounter;
    renderEngine: BaseRender;
    _data: any;
    _mouseEvent: any;
    constructor(options: DistrictClusterOptions);
    bindOrUnbindMapEvent(bind?: boolean): void;
    initCSS(): void;
    getMinZoomToShowSub(adcode: any): any;
    getAreaNodeProps(adcode: any): any;
    getDistrictExplorer(): import("./DistrictExplorer").default;
    getRender(): BaseRender;
    zoomToShowSubFeatures(adcode: any, center?: any): void;
    renderLater(time?: number): void;
    render(): void;
    forceRender(): void;
    getDistMgr(): DistMgr;
    _clearData(): void;
    _buildDataItems(data: any): void;
    getDataItemsByBounds(bounds: any): any[] | null;
    _packDataItem(pointItem: any): any;
    _buildData(data: any): void;
    setData(data: any): void;
    isReady(): boolean;
    setFitView(): void;
    getDistCounter(): DistCounter;
    getMap(): any;
    getZooms(): [number, number];
    isHidden(): boolean;
    show(): void;
    hide(): void;
    destroy(): void;
    getzIndex(): number;
    setzIndex(zIndex: number): void;
}
export { DistrictCluster };
