import type { ExtractPropTypes, PropType } from 'vue';
import type { VcComponentInternalInstance } from 'vue-cesium/es/utils/types';
declare const emits: {
    complete: (evt: Cesium.ParticleSystem) => boolean;
    readyPromise: (primitive: import("vue-cesium/es/utils/types").VcPrimitive, viewer: Cesium.Viewer, instance: import("vue-cesium/es/utils/types").VcComponentPublicInstance) => boolean;
    'update:geometryInstances': (instances: Cesium.GeometryInstance[]) => boolean;
    mousedown: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseup: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    click: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    clickout: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    dblclick: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mousemove: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseover: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseout: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    beforeLoad: (instance: VcComponentInternalInstance) => boolean;
    ready: (readyObj: import("vue-cesium/es/utils/types").VcReadyObject) => boolean;
    destroyed: (instance: VcComponentInternalInstance) => boolean;
};
export declare const particlePrimitiveProps: {
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    speed: {
        type: NumberConstructor;
        default: number;
    };
    minimumSpeed: NumberConstructor;
    maximumSpeed: NumberConstructor;
    lifetime: {
        type: NumberConstructor;
        default: number;
    };
    particleLife: {
        type: NumberConstructor;
        default: number;
    };
    minimumParticleLife: NumberConstructor;
    maximumParticleLife: NumberConstructor;
    mass: {
        type: NumberConstructor;
        default: number;
    };
    minimumMass: NumberConstructor;
    maximumMass: NumberConstructor;
    sizeInMeters: {
        type: PropType<boolean | Cesium.CallbackProperty | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<boolean>>;
        default: boolean;
    };
    maximumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    minimumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    imageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    image: PropType<string | Cesium.CallbackProperty | HTMLCanvasElement | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<string>>;
    endColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    startColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    color: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        default: string;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    emitterModelMatrix: PropType<Cesium.Matrix4>;
    emissionRate: {
        type: NumberConstructor;
        default: number;
    };
    bursts: PropType<Cesium.ParticleBurst[]>;
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    scale: {
        type: NumberConstructor;
        default: number;
    };
    startScale: NumberConstructor;
    endScale: NumberConstructor;
    modelMatrix: PropType<Cesium.Matrix4>;
    updateCallback: FunctionConstructor;
    emitter: PropType<Cesium.ParticleEmitter>;
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
};
declare const _default: import("vue").DefineComponent<{
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    speed: {
        type: NumberConstructor;
        default: number;
    };
    minimumSpeed: NumberConstructor;
    maximumSpeed: NumberConstructor;
    lifetime: {
        type: NumberConstructor;
        default: number;
    };
    particleLife: {
        type: NumberConstructor;
        default: number;
    };
    minimumParticleLife: NumberConstructor;
    maximumParticleLife: NumberConstructor;
    mass: {
        type: NumberConstructor;
        default: number;
    };
    minimumMass: NumberConstructor;
    maximumMass: NumberConstructor;
    sizeInMeters: {
        type: PropType<boolean | Cesium.CallbackProperty | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<boolean>>;
        default: boolean;
    };
    maximumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    minimumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    imageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    image: PropType<string | Cesium.CallbackProperty | HTMLCanvasElement | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<string>>;
    endColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    startColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    color: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        default: string;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    emitterModelMatrix: PropType<Cesium.Matrix4>;
    emissionRate: {
        type: NumberConstructor;
        default: number;
    };
    bursts: PropType<Cesium.ParticleBurst[]>;
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    scale: {
        type: NumberConstructor;
        default: number;
    };
    startScale: NumberConstructor;
    endScale: NumberConstructor;
    modelMatrix: PropType<Cesium.Matrix4>;
    updateCallback: FunctionConstructor;
    emitter: PropType<Cesium.ParticleEmitter>;
    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, {
    complete: (evt: Cesium.ParticleSystem) => boolean;
    readyPromise: (primitive: import("vue-cesium/es/utils/types").VcPrimitive, viewer: Cesium.Viewer, instance: import("vue-cesium/es/utils/types").VcComponentPublicInstance) => boolean;
    'update:geometryInstances': (instances: Cesium.GeometryInstance[]) => boolean;
    mousedown: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseup: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    click: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    clickout: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    dblclick: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mousemove: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseover: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    mouseout: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => boolean;
    beforeLoad: (instance: VcComponentInternalInstance) => boolean;
    ready: (readyObj: import("vue-cesium/es/utils/types").VcReadyObject) => boolean;
    destroyed: (instance: VcComponentInternalInstance) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    speed: {
        type: NumberConstructor;
        default: number;
    };
    minimumSpeed: NumberConstructor;
    maximumSpeed: NumberConstructor;
    lifetime: {
        type: NumberConstructor;
        default: number;
    };
    particleLife: {
        type: NumberConstructor;
        default: number;
    };
    minimumParticleLife: NumberConstructor;
    maximumParticleLife: NumberConstructor;
    mass: {
        type: NumberConstructor;
        default: number;
    };
    minimumMass: NumberConstructor;
    maximumMass: NumberConstructor;
    sizeInMeters: {
        type: PropType<boolean | Cesium.CallbackProperty | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<boolean>>;
        default: boolean;
    };
    maximumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    minimumImageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    imageSize: {
        type: PropType<import("vue-cesium/es/utils/types").VcCartesian2>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeCartesian2;
        };
    };
    image: PropType<string | Cesium.CallbackProperty | HTMLCanvasElement | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<string>>;
    endColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    startColor: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    color: {
        type: PropType<import("vue-cesium/es/utils/types").VcColor>;
        default: string;
        watcherOptions: {
            cesiumObjectBuilder: typeof import("../../../utils/cesium-helpers").makeColor;
        };
    };
    emitterModelMatrix: PropType<Cesium.Matrix4>;
    emissionRate: {
        type: NumberConstructor;
        default: number;
    };
    bursts: PropType<Cesium.ParticleBurst[]>;
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    scale: {
        type: NumberConstructor;
        default: number;
    };
    startScale: NumberConstructor;
    endScale: NumberConstructor;
    modelMatrix: PropType<Cesium.Matrix4>;
    updateCallback: FunctionConstructor;
    emitter: PropType<Cesium.ParticleEmitter>;
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    onBeforeLoad?: (instance: VcComponentInternalInstance) => any;
    onReady?: (readyObj: import("vue-cesium/es/utils/types").VcReadyObject) => any;
    onDestroyed?: (instance: VcComponentInternalInstance) => any;
    onMousedown?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onMouseup?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onClick?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onClickout?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onDblclick?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onMousemove?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onMouseover?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onMouseout?: (evt: import("vue-cesium/es/utils/types").VcPickEvent) => any;
    onReadyPromise?: (primitive: import("vue-cesium/es/utils/types").VcPrimitive, viewer: Cesium.Viewer, instance: import("vue-cesium/es/utils/types").VcComponentPublicInstance) => any;
    "onUpdate:geometryInstances"?: (instances: Cesium.GeometryInstance[]) => any;
    onComplete?: (evt: Cesium.ParticleSystem) => any;
}, {
    show: boolean;
    color: import("vue-cesium/es/utils/types").VcColor;
    enableMouseEvent: boolean;
    loop: boolean;
    speed: number;
    scale: number;
    sizeInMeters: boolean | Cesium.CallbackProperty | import("vue-cesium/es/utils/types").VcCallbackPropertyFunction<boolean>;
    lifetime: number;
    particleLife: number;
    mass: number;
    emissionRate: number;
}>;
export default _default;
export declare type VcPrimitiveParticleProps = ExtractPropTypes<typeof particlePrimitiveProps>;
export declare type VcPrimitiveParticleEmits = typeof emits;
