import type { ExtractPropTypes, PropType } from 'vue';
import type { VcColor, VcComponentInternalInstance } from 'vue-cesium/es/utils/types';
import { makeColor } from 'vue-cesium/es/utils/cesium-helpers';
import { VcEntityProps } from '../../entity/src';
export declare const geojsonDatasourceProps: {
    destroy: {
        type: BooleanConstructor;
        default: boolean;
    };
    credit: {
        type: PropType<string | Cesium.Credit>;
        default: string;
    };
    clampToGround: {
        type: (ObjectConstructor | FunctionConstructor | BooleanConstructor)[];
        default: boolean;
    };
    describe: (ObjectConstructor | FunctionConstructor)[];
    markerSize: {
        type: NumberConstructor;
        default: number;
    };
    markerSymbol: StringConstructor;
    markerColor: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    stroke: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    strokeWidth: {
        type: NumberConstructor;
        default: number;
    };
    fill: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    sourceUri: {
        type: PropType<string | Cesium.Resource>;
    };
    data: {
        type: PropType<string | Cesium.Resource>;
        required: boolean;
    };
    entities: {
        type: PropType<VcEntityProps[]>;
        default: () => any[];
    };
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
};
declare const _default: import("vue").DefineComponent<{
    destroy: {
        type: BooleanConstructor;
        default: boolean;
    };
    credit: {
        type: PropType<string | Cesium.Credit>;
        default: string;
    };
    clampToGround: {
        type: (ObjectConstructor | FunctionConstructor | BooleanConstructor)[];
        default: boolean;
    };
    describe: (ObjectConstructor | FunctionConstructor)[];
    markerSize: {
        type: NumberConstructor;
        default: number;
    };
    markerSymbol: StringConstructor;
    markerColor: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    stroke: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    strokeWidth: {
        type: NumberConstructor;
        default: number;
    };
    fill: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    sourceUri: {
        type: PropType<string | Cesium.Resource>;
    };
    data: {
        type: PropType<string | Cesium.Resource>;
        required: boolean;
    };
    entities: {
        type: PropType<VcEntityProps[]>;
        default: () => any[];
    };
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    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, {
    definitionChanged: (property: Cesium.Property) => boolean;
    clusterEvent: (entities: Cesium.Entity[], cluster: {
        billboard: Cesium.Billboard;
        label: Cesium.Label;
        point: Cesium.PointPrimitive;
    }) => boolean;
    collectionChanged: (collection: Cesium.EntityCollection, addedArray: Cesium.Entity[], removedArray: Cesium.Entity[], changedArray: Cesium.Entity[]) => boolean;
    changedEvent: (datasource: import("vue-cesium/es/utils/types").VcDatasource) => boolean;
    errorEvent: (datasource: import("vue-cesium/es/utils/types").VcDatasource, error: any) => boolean;
    loadingEvent: (datasource: import("vue-cesium/es/utils/types").VcDatasource, isLoading: boolean) => boolean;
    refreshEvent: (datasource: Cesium.KmlDataSource, url: string) => boolean;
    unsupportedNodeEvent: (datasource: Cesium.KmlDataSource, parentEntity: any, node: any, entityCollection: any, styleCollection: any, sourceResource: any, uriResolver: any) => 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<{
    destroy: {
        type: BooleanConstructor;
        default: boolean;
    };
    credit: {
        type: PropType<string | Cesium.Credit>;
        default: string;
    };
    clampToGround: {
        type: (ObjectConstructor | FunctionConstructor | BooleanConstructor)[];
        default: boolean;
    };
    describe: (ObjectConstructor | FunctionConstructor)[];
    markerSize: {
        type: NumberConstructor;
        default: number;
    };
    markerSymbol: StringConstructor;
    markerColor: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    stroke: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    strokeWidth: {
        type: NumberConstructor;
        default: number;
    };
    fill: {
        type: PropType<VcColor>;
        default: () => {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        watcherOptions: {
            cesiumObjectBuilder: typeof makeColor;
        };
    };
    sourceUri: {
        type: PropType<string | Cesium.Resource>;
    };
    data: {
        type: PropType<string | Cesium.Resource>;
        required: boolean;
    };
    entities: {
        type: PropType<VcEntityProps[]>;
        default: () => any[];
    };
    enableMouseEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    show: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    onBeforeLoad?: (instance: VcComponentInternalInstance) => any;
    onReady?: (readyObj: import("vue-cesium/es/utils/types").VcReadyObject) => any;
    onDestroyed?: (instance: VcComponentInternalInstance) => any;
    onDefinitionChanged?: (property: Cesium.Property) => any;
    onChangedEvent?: (datasource: import("vue-cesium/es/utils/types").VcDatasource) => any;
    onErrorEvent?: (datasource: import("vue-cesium/es/utils/types").VcDatasource, error: any) => any;
    onLoadingEvent?: (datasource: import("vue-cesium/es/utils/types").VcDatasource, isLoading: boolean) => any;
    onRefreshEvent?: (datasource: Cesium.KmlDataSource, url: string) => any;
    onUnsupportedNodeEvent?: (datasource: Cesium.KmlDataSource, parentEntity: any, node: any, entityCollection: any, styleCollection: any, sourceResource: any, uriResolver: any) => any;
    onClusterEvent?: (entities: Cesium.Entity[], cluster: {
        billboard: Cesium.Billboard;
        label: Cesium.Label;
        point: Cesium.PointPrimitive;
    }) => any;
    onCollectionChanged?: (collection: Cesium.EntityCollection, addedArray: Cesium.Entity[], removedArray: Cesium.Entity[], changedArray: Cesium.Entity[]) => any;
}, {
    fill: VcColor;
    credit: string | Cesium.Credit;
    show: boolean;
    enableMouseEvent: boolean;
    clampToGround: boolean | Function | Record<string, any>;
    entities: VcEntityProps[];
    stroke: VcColor;
    strokeWidth: number;
    destroy: boolean;
    markerSize: number;
    markerColor: VcColor;
}>;
export default _default;
export declare type VcDatasourceGeojsonProps = ExtractPropTypes<typeof geojsonDatasourceProps>;
