import { Entity, Injector, ViewModel, ViewModelState } from '@farris/devkit-vue';
import { BefProxy, BefRepository } from '@farris/bef-vue';
import { RenderEngineService } from './render-engine.service';
import { TemplateService } from './template.service';
import { FormLoadingService } from './form-loading.service';
import { FormMessageService } from './form-message.service';
import { FormNotifyService } from './form-notify.service';
import { CommandService } from './command.service';
import { CardDataService, ListDataService } from './data-services';
import { ContextService } from './devkit-services/index';

export declare class ControllerService {
    protected viewModel: ViewModel<ViewModelState>;
    protected injector: Injector;
    protected contextService: ContextService;
    protected renderEngineService: RenderEngineService;
    protected templateService: TemplateService;
    protected formLoadingService: FormLoadingService;
    protected formMessageService: FormMessageService;
    protected formNotifyService: FormNotifyService;
    protected commandService: CommandService;
    protected listDataService: ListDataService;
    protected cardDataService: CardDataService;
    protected repository: BefRepository<Entity>;
    protected apiProxy: BefProxy;
    constructor(viewModel: ViewModel<ViewModelState>);
    /**
     * 获取服务实例
     */
    getService<T>(token: any, defaultValue?: any): T;
    /**
     * 获取事件参数
     */
    getEventParams(): any;
}
