import { PropType } from 'vue';
import { DefineEmits, DefineProps, Point } from '../../../utils/types';
import { Props as MarkerProps } from '../../marker/use/const';
export type MarkerClustererStyle = Omit<T.MarkerClustererStyle, "offset"> & {
    /** 聚合图标偏移量 */
    offset?: Point;
};
export declare const NATIVE_PROPS: {
    /** 要聚合的标注点数组 */
    markers: {
        type: PropType<MarkerProps[]>;
    };
    /** 聚合计算时网格的像素大小，默认60 */
    girdSize: {
        type: NumberConstructor;
    };
    /** 最大的聚合级别，大于该级别就不进行聚合 */
    maxZoom: {
        type: NumberConstructor;
    };
    /** 自定义聚合后的图标风格 */
    styles: {
        type: PropType<MarkerClustererStyle[]>;
    };
};
export declare const EXTRA_PROPS: {};
export declare const NATIVE_EVENTS: T.MarkerClustererEvents;
export declare const EXTRA_EVENTS: {
    init: (e: T.MarkerClusterer) => boolean;
};
export declare const PROPS: {
    /** 要聚合的标注点数组 */
    markers: {
        type: PropType<MarkerProps[]>;
    };
    /** 聚合计算时网格的像素大小，默认60 */
    girdSize: {
        type: NumberConstructor;
    };
    /** 最大的聚合级别，大于该级别就不进行聚合 */
    maxZoom: {
        type: NumberConstructor;
    };
    /** 自定义聚合后的图标风格 */
    styles: {
        type: PropType<MarkerClustererStyle[]>;
    };
};
export declare const EVENTS: {
    init: (e: T.MarkerClusterer) => boolean;
    dragstart(e: Pick<T.MarkerClustererEvent, "type" | "target" | "layer">): void;
    drag(e: Pick<T.MarkerClustererEvent, "type" | "target" | "lnglat" | "layer">): void;
    dragend(e: Pick<T.MarkerClustererEvent, "type" | "target" | "lnglat" | "layer">): void;
    clusterclick(e: T.MarkerClustererEvent): void;
    click(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    dblclick(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    mousedown(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    mouseup(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    mouseout(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    mouseover(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
    remove(e: T.OverlayEvent<T.MarkerClusterer, T.LngLat, T.Marker>): void;
};
export type Props = DefineProps<typeof PROPS>;
export type Emit = DefineEmits<typeof EVENTS>;
