import { VcActionTooltipProps, VcComponentInternalInstance, VcReadyObject } from 'vue-cesium/es/utils/types';
import { ExtractPropTypes, VNode } from 'vue';
import { analysesProps } from './defaultProps';
import { VcDrawingActiveEvt, VcDrawingDrawEvt, VcDrawingEditorEvt, VcDrawingMouseEvt, VcDrawingOpts, VcViewshedAnalysisOpts } from 'vue-cesium/es/utils/drawing-types';
import { VcFabProps } from 'vue-cesium/es/components/ui';
import VcAnalysisSightline from './sightline';
import VcAnalysisViewshed from './viewshed';
declare const emits: {
    fabUpdated: (value: boolean) => boolean;
    activeEvt: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => boolean;
    drawEvt: (evt: VcDrawingDrawEvt, viewer: Cesium.Viewer) => boolean;
    editorEvt: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => boolean;
    mouseEvt: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => boolean;
    beforeLoad: (instance: VcComponentInternalInstance) => boolean;
    ready: (readyObj: VcReadyObject) => boolean;
    destroyed: (instance: VcComponentInternalInstance) => boolean;
};
declare const _default: import("vue").DefineComponent<{
    analyses: {
        type: import("vue").PropType<("sightline" | "viewshed")[]>;
        default: () => string[];
        validator: (drawings: string[]) => boolean;
    };
    mainFabOpts: {
        type: import("vue").PropType<VcActionTooltipProps & VcFabProps>;
        default: () => VcActionTooltipProps & VcFabProps;
    };
    sightlineActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    sightlineAnalysisOpts: {
        type: import("vue").PropType<VcDrawingOpts>;
        default: () => VcDrawingOpts;
    };
    viewshedActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    viewshedAnalysisOpts: {
        type: import("vue").PropType<VcViewshedAnalysisOpts>;
        default: () => VcViewshedAnalysisOpts;
    };
    position: {
        type: import("vue").PropType<"right" | "top" | "bottom" | "left" | "top-right" | "top-left" | "bottom-right" | "bottom-left">;
        default: string;
        validator: (v: string) => boolean;
    };
    offset: {
        type: ArrayConstructor;
        validator: (v: any) => boolean;
    };
    mode: {
        type: import("vue").PropType<0 | 1>;
        default: number;
    };
    activeColor: {
        type: StringConstructor;
        default: string;
    };
    editable: {
        type: BooleanConstructor;
    };
    clampToGround: {
        type: BooleanConstructor;
    };
    clearActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    show: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    fabUpdated: (value: boolean) => boolean;
    activeEvt: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => boolean;
    drawEvt: (evt: VcDrawingDrawEvt, viewer: Cesium.Viewer) => boolean;
    editorEvt: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => boolean;
    mouseEvt: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => boolean;
    beforeLoad: (instance: VcComponentInternalInstance) => boolean;
    ready: (readyObj: VcReadyObject) => boolean;
    destroyed: (instance: VcComponentInternalInstance) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    analyses: {
        type: import("vue").PropType<("sightline" | "viewshed")[]>;
        default: () => string[];
        validator: (drawings: string[]) => boolean;
    };
    mainFabOpts: {
        type: import("vue").PropType<VcActionTooltipProps & VcFabProps>;
        default: () => VcActionTooltipProps & VcFabProps;
    };
    sightlineActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    sightlineAnalysisOpts: {
        type: import("vue").PropType<VcDrawingOpts>;
        default: () => VcDrawingOpts;
    };
    viewshedActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    viewshedAnalysisOpts: {
        type: import("vue").PropType<VcViewshedAnalysisOpts>;
        default: () => VcViewshedAnalysisOpts;
    };
    position: {
        type: import("vue").PropType<"right" | "top" | "bottom" | "left" | "top-right" | "top-left" | "bottom-right" | "bottom-left">;
        default: string;
        validator: (v: string) => boolean;
    };
    offset: {
        type: ArrayConstructor;
        validator: (v: any) => boolean;
    };
    mode: {
        type: import("vue").PropType<0 | 1>;
        default: number;
    };
    activeColor: {
        type: StringConstructor;
        default: string;
    };
    editable: {
        type: BooleanConstructor;
    };
    clampToGround: {
        type: BooleanConstructor;
    };
    clearActionOpts: {
        type: import("vue").PropType<VcActionTooltipProps>;
        default: () => VcActionTooltipProps;
    };
    show: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}>> & {
    onActiveEvt?: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => any;
    onDrawEvt?: (evt: VcDrawingDrawEvt, viewer: Cesium.Viewer) => any;
    onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => any;
    onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => any;
    onBeforeLoad?: (instance: VcComponentInternalInstance) => any;
    onReady?: (readyObj: VcReadyObject) => any;
    onDestroyed?: (instance: VcComponentInternalInstance) => any;
    onFabUpdated?: (value: boolean) => any;
}, {
    show: boolean;
    position: "right" | "top" | "bottom" | "left" | "top-right" | "top-left" | "bottom-right" | "bottom-left";
    editable: boolean;
    mode: 0 | 1;
    clampToGround: boolean;
    analyses: ("sightline" | "viewshed")[];
    mainFabOpts: VcActionTooltipProps & VcFabProps;
    sightlineActionOpts: VcActionTooltipProps;
    sightlineAnalysisOpts: VcDrawingOpts;
    viewshedActionOpts: VcActionTooltipProps;
    viewshedAnalysisOpts: VcViewshedAnalysisOpts;
    activeColor: string;
    clearActionOpts: VcActionTooltipProps;
}>;
export default _default;
export { VcAnalysisSightline, VcAnalysisViewshed, analysesProps };
export declare type VcAnalysesEmits = typeof emits;
export declare type VcAnalysesProps = {
    /**
     * Specify the position of the VcAnalyses.
     * Default value: bottom-left
     */
    position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left';
    /**
     * An array of two numbers to offset the VcAnalyses horizontally and vertically in pixels.
     * Default value: [0, 0]
     */
    offset?: [number, number];
    /**
     * Specify whether the analysis result is visible.
     * Default value: true
     */
    show?: boolean;
    /**
     * Specify the interactive drawing mode, 0 means continuous drawing, and 1 means drawing ends once.
     * Default value: 1
     */
    mode?: number;
    /**
     * Specify which analysis instances to load.
     * Default value: ['sightline', 'viewshed']
     */
    analyses?: Array<'sightline' | 'viewshed'>;
    /**
     * Specify the color when the analysis instance is activated.
     * Default value: positive
     */
    activeColor?: string;
    /**
     * Specify whether the analysis result can be edited.
     * Default value: false
     */
    editable?: boolean;
    /**
     * Specify the style options of the floating action button of the VcAnalyses component.
     */
    mainFabOpts?: VcActionTooltipProps & VcFabProps;
    /**
     * Specify the style options of the sightline analysis action button.
     */
    sightlineActionOpts?: VcActionTooltipProps;
    /**
     * Specify sightline analysis options.
     */
    sightlineAnalysisOpts?: VcDrawingOpts;
    /**
     * Specify the style options of the viewshed analysis action button.
     */
    viewshedActionOpts?: VcActionTooltipProps;
    /**
     * Specify viewshed analysis options.
     */
    viewshedAnalysisOpts?: VcViewshedAnalysisOpts;
    /**
     * Specify the style options of the clear action button.
     */
    clearActionOpts?: VcActionTooltipProps;
    /**
     * Triggers before the VcCompass is loaded.
     */
    onBeforeLoad?: (instance: VcComponentInternalInstance) => void;
    /**
     * Triggers when the VcCompass is successfully loaded.
     */
    onReady?: (readyObject: VcReadyObject) => void;
    /**
     * Triggers when the VcCompass is destroyed.
     */
    onDestroyed?: (instance: VcComponentInternalInstance) => void;
    /**
     * Triggers when the analysis action is actived.
     */
    onActiveEvt?: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => void;
    /**
     * 	Triggers when drawing.
     */
    onDrawEvt?: (evt: VcDrawingDrawEvt, viewer: Cesium.Viewer) => void;
    /**
     * Triggers when the editor button is clicked.
     */
    onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void;
    /**
     * Triggers when the mouse is over or out on the drawing point.
     */
    onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void;
    /**
     * Triggers when the floating button is expanded or collapsed.
     */
    onFabUpdated: (value: boolean) => void;
};
export declare type VcAnalysesSlots = {
    /**
     * body slot content of the component
     */
    body: () => VNode[];
};
