import { default as MsgHelper } from './MsgHelper';
import { Emitter } from '../mitt';
import { default as ProxyClient } from '../hprose/ProxyClient';
import { ISystemConfig } from '../model/Config';
import { LayoutManager } from '../controls/layoutcontainer';
import { AxiosStatic } from 'axios';
import { IWidgetConfig } from '../model/Layout';
import * as Log from "loglevel";
export interface InnerObject {
    /**
     * axios对象
     */
    Axios: AxiosStatic;
    Config: ISystemConfig;
    EventBus: Emitter<any>;
    DefaultProxyClient: ProxyClient | null | undefined;
    /**
     * 默认Message为console.log
     */
    Message: MsgHelper;
    /**
     * 布局管理对象
     */
    LayoutManager?: LayoutManager;
    /**
     * LayoutManager字典
     */
    LayoutMap: Map<string, LayoutManager>;
    /**
     * 权限过滤后的WidgetConfig列表，
     * 优先使用：RightWidgetConfigMap
     */
    WidgetConfigList?: Array<IWidgetConfig>;
    /**
     * 权限过滤后的，按LayoutID分组的WidgetConfig字典对象
     * 优先使用RightWidgetConfigMap
     */
    RightWidgetConfigMap?: Map<string, Array<IWidgetConfig>>;
    /**
     * 通过WidgetID获取LayoutManager
     * @param widgetID
     */
    getLayoutManager(widgetID: string): LayoutManager | undefined;
    /**
     * 系统ID标识
     */
    SystemID?: string;
    /**
     * 系统——工程项目名，分组名
     * 例如：都是影像工程
     */
    SystemGroup?: string;
    /**
     * 日志记录
     * @param name 日志名称
     */
    Logger(name?: string): Log.Logger;
    /**
     * 全局的CesiumViewer对象
     */
    CesiumViewer?: any;
    /**
     * 二维地图OL
     */
    XMap?: any;
    [props: string]: any;
}
/**
 * 初始化配置信息
 */
export interface XOptions {
    config?: any;
    message?: any;
    sysID?: string;
    sysGroup?: string;
    defaultHproseURL?: string;
}
