import { Devkit, Module, ViewModel, ViewModelState } from '@farris/devkit-vue';
import { RenderEngineService } from '../render-engine.service';

/**
 * 上下文服务
 */
declare class ContextService {
    protected devkit: Devkit;
    /**
     * 视图模型
     */
    protected module: Module;
    /**
     * 视图模型
     */
    protected viewModel: ViewModel<ViewModelState>;
    /**
     * 渲染引擎
     */
    private renderEngineService;
    /**
     * 构造函数
     */
    constructor(viewModel: ViewModel<ViewModelState>, renderEngineService: RenderEngineService);
    /**
     * 获取当前表单的模块
     */
    getModule(): Module;
    /**
     * 获取当前表单的根视图模型
     */
    getRootViewModel(): ViewModel<ViewModelState>;
    /**
     * 获取当前表单指定ID的视图模型
     */
    getViewModelById(viewModelId: string): ViewModel<ViewModelState> | null;
    /**
     * 获取外部表单的模块
     */
    getExternalModule(externalContainerId: string): Module;
    /**
     * 获取当前表单的根视图模型
     */
    getExternalRootViewModel(externalContainerId: string): ViewModel<ViewModelState>;
    /**
     * 获取当前表单指定ID的视图模型
     */
    getExternalViewModelById(externalContainerId: string, viewModelId: string): ViewModel<ViewModelState> | null;
    /**
     * 获取弹窗表单的模块
     */
    getModalModule(modalId: string): Module;
    /**
     * 获取弹窗表单的根视图模型
     */
    getModalRootViewModel(modalId: string): ViewModel<ViewModelState>;
    /**
     * 获取弹窗表单内指定ID的视图模型
     */
    getModalViewModelById(modalId: string, viewModelId: string): ViewModel<ViewModelState> | null;
    /**
     * 根据弹窗表单的模块ID
     */
    private getModalModuleId;
    /**
     * 获取外部容器内表单的模块ID
     */
    private getExternalModuleId;
}
export { ContextService };
