import { TMiddleware } from './definitions'; /** A middleware manager */ export declare class MiddlewareManager { /** The list of middlewares */ private _middlewares; /** The list of middlewares that runs at last */ private _lastMiddlewares; /** Returns how many middlewares there are */ readonly length: number; /** * add a middleware to the middleware list * @param middleware the middleware */ use(middleware: TMiddleware): this; /** * add a middleware to another middleware list that'll be run at last * @param middleware the middleware */ useLast(middleware: TMiddleware): this; /** * Let context go through the middlewares * @param ctx the context */ run(ctx: T): Promise; }