import { Component, ExtractPropTypes, PropType } from 'vue';
export declare enum LayerOperationType {
    visible = "visible",
    zoomTo = "zoomTo",
    opacity = "opacity",
    info = "info",
    attribute = "attribute",
    layerStyle = "layerStyle",
    labelStyle = "labelStyle",
    modelSetting = "modelSetting",
    modelStretch = "modelStretch",
    modelTransform = "modelTransform",
    query = "query",
    table = "table",
    toTop = "toTop",
    toBottom = "toBottom",
    layerRaise = "layerRaise",
    layerLower = "layerLower",
    reorder = "reorder",
    rename = "rename",
    delete = "delete",
    divider = "divider"
}
export declare enum LayerShowMode {
    showIn2D = "2D",
    showIn3D = "3D",
    all = "all"
}
export interface LayerOperation {
    /**
     * @description 操作项ID
     * @type LayerOperationType或其他字符串
     */
    id: LayerOperationType | string;
    /**
     * @description 操作项名称
     * @type String
     */
    label?: string;
    /**
     * @description 操作项提示
     * @type String
     */
    tip?: string;
    /**
     * @description 操作项图标
     * @type String
     */
    icon?: string;
    /**
     * @description 操作项动作，与component属性二选一，存在时执行该行为
     * @type Function
     */
    action?: Function;
    /**
     * @description 操作项显示模式，是否在地图视图或场景视图中显示，参考LayerShowMode枚举
     * @type LayerShowMode
     */
    mode?: LayerShowMode;
    /**
     * @description 支持的原始图层类型，不同图层类型支持的原始图层类型不一样，多个通过逗号分隔，如果不传或者为空串则不进行筛选
     */
    supportedOriginLayerTypes?: string;
    /**
     * @description 操作项打开的组件，与action属性二选一，存在时打开该组件
     * @type Component | string
     */
    component?: Component | string;
}
export declare const layerManagerProps: {
    /**
     * @description 图层操作列表配置，每一类图层都有自己的操作列表，可以通过此参数进行覆盖和扩展，形如[{id,label,tip,icon,action,mode,supportedOriginLayerTypes,component}]，对于外部命令需要传入完整属性，对内置命令只需要传入ID，action为函数，component为组件，当id为divider时，表示分割线，监听属性
     * @type Array
     */
    layerOperations: {
        type: PropType<Record<string, LayerOperation[]>>;
        default: {};
    };
    /**
     * @description 全局共享图层操作配置，用于统一修改特定操作在所有图层类型中的行为，例如可以统一修改attribute操作的行为，而不需要对每种图层类型分别配置，形如[{id,label,tip,icon,action,mode,supportedOriginLayerTypes,component}]，监听属性
     * @type Array
     */
    sharedOperations: {
        type: PropType<LayerOperation[]>;
        default: () => any[];
    };
    /**
     * @description 图层树高度，设置高度有助于提升渲染性能，非监听属性
     * @type Number
     */
    layerTreeHeight: {
        type: NumberConstructor;
        default: number;
    };
};
export declare const layerManagerEmits: {};
export type LayerManagerProps = ExtractPropTypes<typeof layerManagerProps>;
export type LayerManagerEmits = typeof layerManagerEmits;
