import { Component } from 'vue';
/**
 * UI界面相关
 */
export interface IUIObject {
    /**
     * 网站标题
     */
    SiteTitle: string;
    /**
     * 系统的所属组名
     */
    Group?: string;
    /**
     * 版权
     */
    CopyRight: string;
    /**
     * 官方链接
     */
    WebSite?: string;
    /**
     * 超时锁屏时间(单位：秒s)
     * 自动锁屏时间，为0不锁屏。
     */
    LockTime?: number;
    /**
     * 是否是能访问互联网，还是内网部署应用
     * */
    IsInternet?: boolean;
    /**
     * 是否：只用户验证，不验证角色与功能授权，默认为false
     * true:只验证用户，不检查角色授权
     */
    OnlyUserVerify?: boolean;
    /**
     * 网站灰色模式，用于可能悼念的日期开启
     * 默认为false
     */
    GrayMode?: boolean;
    /**
     * 是否在产品发布后启用日志记录
     *    */
    ProductLog?: boolean;
    /**
     * 网站主题
     */
    Theme?: string;
    /**
     * 其他扩展的属性
     */
    [props: string]: any;
}
/**
 * 用于控制功能是否启用
 */
export interface IEnablesObject {
    /**
     * 是否启用异步TurfAsync
     */
    TurfAsync?: boolean;
    /**
     * 是否启用Cesium缓存
     */
    CesiumOfflineCache?: boolean;
    /**
   * 其他扩展的属性
   */
    [props: string]: any;
}
/**
 * 服务URL
 */
export interface IServiceURL {
    /**
     * 用户登录验证服务（统一用户登录:后台）
     */
    LoginAuthURL?: string;
    /**
     * 用户登录界面（统一用户登录界面:前台）
     */
    UILoginURL?: string;
    /**
     * 文件管理服务地址（统一文件管理：后台）
     */
    FileServiceURL?: string;
    /**
     * 文件管理（统一文件管理：前台）
     */
    UIFileURL?: string;
    /**
     * 在线日志服务（统一日志记录）
     */
    LogServiceURL?: string;
    /**
     * 图标在线服务地址
     */
    IconServiceURL?: string;
    /**
     * Axios普通WebAPI的BaseURL
     * 全局默认的http请求地址（一般与主hprose相同或不同）;文件上传地址
     */
    DefaultWebAPI?: string;
    /**
     * 默认HproseAPI的服务地址
     */
    DefaultHproseAPI?: string;
    /**
     * 其他扩展的URL属性
     */
    [props: string]: any;
}
/**
 * 地图相关Keys
 */
export interface IMapKeys {
    /**
     * 天地图Key ,单个或数组
     */
    TDTKey?: string | string[];
    /**
     * MapboxKey ,单个或数组
     */
    MapboxKey?: string | string[];
    /**
     * Cesium Key ,单个或数组
     */
    CesiumKey?: string | string[];
    /**
     * Google地图Key ,单个或数组
     */
    GoogleKey?: string | string[];
    /**
     * 其他扩展的Key属性
     */
    [props: string]: any;
}
/**
 * 系统配置信息
 */
export interface ISystemConfig {
    /**
     * 用户界面配置
     */
    UI: IUIObject;
    /**
     * 服务URL
     */
    ServiceURL: IServiceURL;
    /**
     * 地图相关Keys
     */
    MapKeys?: IMapKeys;
    /**
     * API服务路径
     */
    APIPath?: object;
    /**
     * 用于控制功能是否启用
     */
    Enables?: IEnablesObject;
    /**
     * 框架商业授权KEY
     */
    KEY?: string;
    [props: string]: any;
}
export declare type Lazy<T> = () => Promise<T>;
/**
 * 窗体内容配置接口
 */
export interface IModalConfig {
    /**
     * 唯一ID,与组件名一致
     */
    id: string;
    /**
     * 说明信息
     */
    label?: string;
    /**
     * 动态加载的组件
     */
    component: Lazy<Component>;
    /**
     * 其他可扩展的属性
     */
    [props: string]: any;
}
