import { DirectiveOptions } from "vue";
import Router, { RouterOptions } from "vue-router";
import { Store, StoreOptions } from "vuex";
import flagwind from "@egova/flagwind-core";
import IWorkbench = flagwind.IWorkbench;
import ApplicationContextBase = flagwind.ApplicationContextBase;
/**
 * 包含当前应用程序的上下文实例。
 * @class
 * @version 1.0.0
 */
/**
 * 包含当前应用程序的上下文实例。
 * @class
 * @version 1.0.0
 */
export default class ApplicationContext extends ApplicationContextBase {
    private _router;
    private _store;
    private _directives;
    routerOptions: RouterOptions;
    storeOptions: StoreOptions<any>;
    /**
     * 获取或设置当前应用的主路由对象。
     * @property
     * @returns Router
     */
    get router(): Router | undefined;
    set router(value: Router | undefined);
    get directives(): DirectiveOptions;
    set directives(value: DirectiveOptions);
    /**
     * 获取或设置当前应用的状态管理对象。
     * @property
     * @returns Store<any>
     */
    get store(): Store<any> | undefined;
    set store(value: Store<any> | undefined);
    /**
     * 获取当前应用程序的上下文实例。
     * @static
     * @member
     */
    /**
     * 私有构造函数。
     * @private
     */
    constructor(routes: any, modules: any);
    /**
     * 创建一个工作台对象。
     * @override
     * @returns IWorkbench
     */
    protected createWorkbench(args: Array<string>): IWorkbench;
}
