import { IInnerApplication, PureObject, IDir, PriorityDefine as IPriority, IDefaultLoaders, NormalizedMiddleware, ICoreLoaderOptions } from '../definitions/core'; import { Loader } from './Loader'; import { Middleware } from 'koa'; /** * ## Core Loader * - decide how to build application. * * @author Big Mogician * @export * @class CoreLoader * @extends {Loader} * @template F * @template A */ export declare class CoreLoader> extends Loader { protected options: Partial>; protected patterns: IDefaultLoaders; protected pluginConfig: PureObject; protected astroboy: any; protected loaders: PureObject; protected coreDirs: IDir[]; protected loaderQueue: IPriority[]; protected NODE_ENV: string; middlewareList: Middleware[]; get defaultPatterns(): IDefaultLoaders; constructor(options?: Partial>); /** * ### `init` hook * * @virtual * @author Big Mogician * @protected * @memberof CoreLoader */ protected init(): Promise; /** * ### `load` hook * * @virtual * @author Big Mogician * @memberof CoreLoader */ load(): Promise; /** * ### 加载核心目录,包括 app、framework,但不包括 plugin * * @author Big Mogician * @protected * @param {string} baseDir * @memberof CoreLoader */ protected loadCoreDirs(baseDir: string): Promise; /** * ### 获取插件配置 * * @author Big Mogician * @protected * @memberof CoreLoader */ protected loadPluginConfig(): Promise; /** * ### 获取遍历目录 * * @author Big Mogician * @protected * @memberof CoreLoader */ protected loadFullDirs(): Promise; /** * ### 获取需要遍历的插件目录 * * @author Big Mogician * @protected * @param {string} baseDir * @returns * @memberof CoreLoader */ protected getPluginDirs(baseDir: string): Promise; /** * ### 获取需要遍历的插件配置 * * @author Big Mogician * @protected * @param {string} baseDir * @returns * @memberof CoreLoader */ protected getPluginConfig(baseDir: string): Promise>; /** * ### 获取加载器执行队列 * * @author Big Mogician * @protected * @memberof CoreLoader */ protected loadLoaderQueue(): Promise; /** * ### 获取加载器 * * @author Big Mogician * @protected * @memberof CoreLoader */ protected loadLoaders(): Promise; /** * ### 执行加载器 * * @author Big Mogician * @protected * @memberof CoreLoader */ protected runLoaders(): Promise; /** * ### Use Middlewares * * @author Big Mogician * @protected * @memberof CoreLoader */ protected useMiddlewares(): void; /** * ### Wrap Middlewares * * @author Big Mogician * @protected * @param {NormalizedMiddleware} middleware * @param {IPriority} options * @returns * @memberof CoreLoader */ protected wrapMiddleware(middleware: NormalizedMiddleware, options: IPriority): NormalizedMiddleware, import("../definitions/core").IBaseApplication>>>; }