import { EggRouter as Router } from '@eggjs/router'; import { RouterParamValue } from '@midwayjs/decorator'; import { MidwayContainer } from 'midway-core'; import { Middleware, MidwayLoaderOptions } from '../interface'; import { EggAppInfo } from 'egg'; declare const EggLoader: any; export declare class MidwayWebLoader extends EggLoader { baseDir: string; appDir: string; appInfo: EggAppInfo; private controllerIds; prioritySortRouters: Array<{ priority: number; router: Router; }>; private containerLoader; constructor(options: MidwayLoaderOptions); /** * 判断是否是 ts 模式,在构造器内就会被执行 */ get isTsMode(): boolean; get applicationContext(): MidwayContainer; get pluginContext(): any; protected loadConfig(): void; protected getPluginPath(plugin: any): string; protected registerTypescriptDirectory(): void; protected getEggPaths(): string[]; protected getServerEnv(): string; protected getAppInfo(): EggAppInfo; protected loadApplicationContext(): void; protected preRegisterRouter(target: any, controllerId: string): Promise; private handlerWebMiddleware; /** * @param controllerOption */ private createEggRouter; protected refreshContext(): Promise; /** * wrap controller string to middleware function * @param controllerMapping like FooController.index */ generateController(controllerMapping: string, routeArgsInfo?: RouterParamValue[]): Middleware; loadMidwayController(): Promise; } export {};