import type { IContextIopa, IRouterResult, IRouter, IRouterApp, Next, AppHandler } from '@iopa/types'; interface IRoute { path: string; method: string; handler: NamedAppHandler; } declare type NamedAppHandler = AppHandler & { id: string; options?: unknown; }; export default class RouterMiddleware { readonly router: IRouter; readonly strict: boolean; protected _basePath: string; routes: IRoute[]; constructor(app: IRouterApp, options?: { router?: IRouter; }); invoke(context: IContextIopa, next: Next): Promise; protected _addRoute(method: string, path: string, handler: NamedAppHandler, options?: unknown): IRoute; protected _matchRoute(context: IContextIopa): Promise>; protected _preprocessRoute(result: IRouterResult, context: IContextIopa): void; protected _validateRoute(result: IRouterResult, context: IContextIopa): Promise; protected _handleRoute(result: IRouterResult, context: IContextIopa, next: Next): Promise; } export {}; //# sourceMappingURL=index.d.ts.map