/// import * as Koa from 'koa'; import { ClassConstructor } from '@t2ee/core'; import AfterMiddleware from './core/AfterMiddleware'; import BeforeMiddleware from './core/BeforeMiddleware'; import AfterAllMiddleware from './core/AfterAllMiddleware'; import Request from './core/Request'; declare class Router { private controllers; private afters; private befores; private afterAlls; private contextedVariables; constructor(); private errorHandler; private notFoundHandler; private routerConfig; private findMatched(url, method); private shouldErrorHandlerHandleError(error); routes(): (context: Koa.Context, next: () => Promise) => any; private useMiddlewares(befores, afters?, afterAlls?); use(befores: BeforeMiddleware[], afters?: AfterMiddleware[], afterAlls?: AfterAllMiddleware[]): void; use(klass: ClassConstructor, befores?: BeforeMiddleware[], afters?: AfterMiddleware[], afterAlls?: AfterAllMiddleware[]): void; static newInstance(): Router; provideContext(klass: ClassConstructor, func: (req: Request) => T): Router; } export default Router;