export default class Middleware { middlewares: Array<(...args: Array) => any | void>; constructor(); /** Add a middleware to execute. */ use(middleware: (...args: Array) => any | void): this; /** Run all the middlewares with provided args. Next middleware is executed after the current has finished running. */ run(...args: Array): Promise; }