import { PropType } from 'vue';
import type { VcComponentInternalInstance, VcComponentPublicInstance, VcPickEvent, VcReadyObject } from 'vue-cesium/es/utils/types';
import { VcBillboardProps, VcLabelProps, VcPointProps } from 'vue-cesium/es/components/primitive-collections';
export declare const primitiveClusterProps: {
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    enabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    pixelRange: {
        type: NumberConstructor;
        default: number;
    };
    minimumClusterSize: {
        type: NumberConstructor;
        default: number;
    };
    clusterBillboards: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterLabels: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterPoints: {
        type: BooleanConstructor;
        default: boolean;
    };
    billboards: {
        type: PropType<VcBillboardProps[]>;
        default: () => any[];
    };
    labels: {
        type: PropType<VcLabelProps[]>;
        default: () => any[];
    };
    points: {
        type: PropType<VcPointProps[]>;
        default: () => any[];
    };
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
};
declare const _default: import("vue").DefineComponent<{
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    enabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    pixelRange: {
        type: NumberConstructor;
        default: number;
    };
    minimumClusterSize: {
        type: NumberConstructor;
        default: number;
    };
    clusterBillboards: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterLabels: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterPoints: {
        type: BooleanConstructor;
        default: boolean;
    };
    billboards: {
        type: PropType<VcBillboardProps[]>;
        default: () => any[];
    };
    labels: {
        type: PropType<VcLabelProps[]>;
        default: () => any[];
    };
    points: {
        type: PropType<VcPointProps[]>;
        default: () => any[];
    };
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    clusterEvent: (ids: string[], cluster: {
        billboard: Cesium.Billboard;
        label: Cesium.Label;
        point: Cesium.PointPrimitive;
    }) => boolean;
    readyPromise: (primitive: import("vue-cesium/es/utils/types").VcPrimitive, viewer: Cesium.Viewer, instance: VcComponentPublicInstance) => boolean;
    'update:geometryInstances': (instances: Cesium.GeometryInstance[]) => boolean;
    mousedown: (evt: VcPickEvent) => boolean;
    mouseup: (evt: VcPickEvent) => boolean;
    click: (evt: VcPickEvent) => boolean;
    clickout: (evt: VcPickEvent) => boolean;
    dblclick: (evt: VcPickEvent) => boolean;
    mousemove: (evt: VcPickEvent) => boolean;
    mouseover: (evt: VcPickEvent) => boolean;
    mouseout: (evt: VcPickEvent) => boolean;
    beforeLoad: (instance: VcComponentInternalInstance) => boolean;
    ready: (readyObj: VcReadyObject) => boolean;
    unready: (e: any) => boolean;
    destroyed: (instance: VcComponentInternalInstance) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    enabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    pixelRange: {
        type: NumberConstructor;
        default: number;
    };
    minimumClusterSize: {
        type: NumberConstructor;
        default: number;
    };
    clusterBillboards: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterLabels: {
        type: BooleanConstructor;
        default: boolean;
    };
    clusterPoints: {
        type: BooleanConstructor;
        default: boolean;
    };
    billboards: {
        type: PropType<VcBillboardProps[]>;
        default: () => any[];
    };
    labels: {
        type: PropType<VcLabelProps[]>;
        default: () => any[];
    };
    points: {
        type: PropType<VcPointProps[]>;
        default: () => any[];
    };
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    onBeforeLoad?: (instance: VcComponentInternalInstance) => any;
    onReady?: (readyObj: VcReadyObject) => any;
    onUnready?: (e: any) => any;
    onDestroyed?: (instance: VcComponentInternalInstance) => any;
    onMousedown?: (evt: VcPickEvent) => any;
    onMouseup?: (evt: VcPickEvent) => any;
    onClick?: (evt: VcPickEvent) => any;
    onClickout?: (evt: VcPickEvent) => any;
    onDblclick?: (evt: VcPickEvent) => any;
    onMousemove?: (evt: VcPickEvent) => any;
    onMouseover?: (evt: VcPickEvent) => any;
    onMouseout?: (evt: VcPickEvent) => any;
    onReadyPromise?: (primitive: import("vue-cesium/es/utils/types").VcPrimitive, viewer: Cesium.Viewer, instance: VcComponentPublicInstance) => any;
    "onUpdate:geometryInstances"?: (instances: Cesium.GeometryInstance[]) => any;
    onClusterEvent?: (ids: string[], cluster: {
        billboard: Cesium.Billboard;
        label: Cesium.Label;
        point: Cesium.PointPrimitive;
    }) => any;
}, {
    show: boolean;
    enableMouseEvent: boolean;
    enabled: boolean;
    billboards: VcBillboardProps[];
    labels: VcLabelProps[];
    points: VcPointProps[];
    pixelRange: number;
    minimumClusterSize: number;
    clusterBillboards: boolean;
    clusterLabels: boolean;
    clusterPoints: boolean;
}>;
export default _default;
export type VcPrimitiveClusterProps = {
    /**
     * Determines if this primitive will be shown.
     * Default value: true
     */
    show?: boolean;
    /**
     * Specify whether clustering is enabled.
     */
    enabled?: boolean;
    /**
     * Specify the pixel range to extend the screen space bounding box.
     * Default value: 80
     */
    pixelRange?: number;
    /**
     * Specify the minimum number of screen space objects that can be clustered.
     * Default value: 2
     */
    minimumClusterSize?: number;
    /**
     * Specify whether clustering billboard primitive is enabled.
     * Default value: true
     */
    clusterBillboards?: boolean;
    /**
     * Specify whether clustering label primitive is enabled.
     * Default value: true
     */
    clusterLabels?: boolean;
    /**
     * Specify whether clustering point primitive is enabled.
     * Default value: true
     */
    clusterPoints?: boolean;
    /**
     * Specify an array of billboard collections. The structure of the array object is the same as the attribute of the [vc-billboard](https://zouyaoji.top/vue-cesium/#/en-US/component/primitives/vc-collection-billboard#vcbillboard-props) component.
     */
    billboards?: Array<VcBillboardProps>;
    /**
     * Specify an array of label collections. The structure of the array object is the same as the attribute of the [vc-label](https://zouyaoji.top/vue-cesium/#/en-US/component/primitives/vc-collection-label#vclabel-props) component.
     */
    labels?: Array<VcLabelProps>;
    /**
     * Specify an array of points collections. The structure of the array object is the same as the attribute of the [vc-point](https://zouyaoji.top/vue-cesium/#/en-US/component/primitives/vc-collection-point#vcpoint-props) component.
     */
    points?: Array<VcPointProps>;
    /**
     * Specifies whether to respond to mouse pick events.
     * Default Value: true
     */
    enableMouseEvent?: boolean;
    /**
     * Triggers before the component is loaded.
     */
    onBeforeLoad?: (instance: VcComponentInternalInstance) => void;
    /**
     * Triggers when the component is successfully loaded.
     */
    onReady?: (readyObject: VcReadyObject) => void;
    /**
     * Triggers when the component load failed.
     */
    onUnready?: (e: any) => void;
    /**
     * Triggers when the component is destroyed.
     */
    onDestroyed?: (instance: VcComponentInternalInstance) => void;
    /**
     * Triggers when the mouse is pressed on this primitive.
     */
    onMousedown?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse bounces up on this primitive.
     */
    onMouseup?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse clicks on this primitive.
     */
    onClick?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse clicks outside this primitive.
     */
    onClickout?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the left mouse button double-clicks this primitive.
     */
    onDblclick?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse moves on this primitive.
     */
    onMousemove?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse moves over to this primitive.
     */
    onMouseover?: (evt: VcPickEvent) => void;
    /**
     * Triggers when the mouse moves out of this primitive.
     */
    onMouseout?: (evt: VcPickEvent) => void;
};
export type VcPrimitiveClusterRef = VcComponentPublicInstance<VcPrimitiveClusterProps>;
