import Koa, { Middleware } from 'koa'; import { ILogger, ISettingManager } from '@newbility/core'; export declare const MIDDLEWARE_INIT_INJECT_TOKEN: string; export interface IMiddlewareInitializer { InitMiddleware(): void; AddMiddleware(middleware: Middleware): void; } export declare class MiddlewareInitializer implements IMiddlewareInitializer { protected readonly KoaApp: Koa; protected readonly Setting: ISettingManager; protected readonly Logger: ILogger; protected readonly Middlewares: Koa.Middleware[]; constructor(app: Koa, setting: ISettingManager, logger: ILogger); InitMiddleware(): void; AddMiddleware(middleware: Middleware): void; protected AddSystemMiddleware(): void; protected AddGlobalError(): void; protected AddCors(): void; protected AddCompress(): void; protected AddStaticResource(): void; protected AddKoaBody(): void; protected AddHttpContextStorage(): void; }