import { Component } from 'vue';
import { Lazy } from './Config';
/**
 *布局枚举类型
 */
export declare enum LayoutContainerEnum {
    top = 0,
    bottom = 1,
    centerBack = 2,
    centerMain = 3,
    centerFront = 4,
    left = 5,
    right = 6
}
/**
 * 组件布局
 */
export interface IWidgetLayout {
    top?: number | string;
    left?: number | string;
    right?: number | string;
    bottom?: number | string;
    width?: string;
    height?: string;
    /**
     * 扩展属性，支持应用
    */
    [props: string]: any;
}
export interface IWidgetConfig {
    /**
     * Layout标识名,以支撑多个布局使用
     */
    layoutID?: string;
    /**
     * 唯一ID,与组件名一致
     */
    id: string;
    /**
     * 标题或说明
     */
    label?: string;
    /**
     * 图标路径(备用)
     */
    icon?: string;
    /**
     * 所属容器，top/bottom/left/right等
     */
    container: LayoutContainerEnum;
    /**
     * 外部组件js url(备用)
     */
    jsURL?: string;
    /**
     * 外部组件css url(备用,暂不用)
     */
    cssURL?: string;
    /**
     * 动态加载的组件
     */
    component: Lazy<Component>;
    /**
     * 是否初始化时，预加载
     */
    preload?: boolean;
    /**
     * 前置组件 ID,一般也就是bindid
     */
    afterid?: string;
    /**
     * 20220424 WM:暂时去掉，容易混乱和循环引用
     * 绑定依赖组件ID,不一定有afterid
     */
    /**
     * 所属组，用于业务分类
     */
    group?: string;
    /**
     * 外部定义布局(备用)
     */
    layout?: IWidgetLayout;
    /**
     * 组件的外部扩展样式（在layouts布局、视图页面里定义）
     * 通过定义class名称
     */
    cssClass?: string;
    /**
     * 扩展属性，支持应用
     */
    [props: string]: any;
}
