import { RequestHandler } from 'express'; import { RouteSchema, RouterRoute, SelectSubset, RouteHandler } from './router.types'; /** * A wrapper around the express Router */ export declare class Router { expressRouter: import("express-serve-static-core").Router; routes: RouterRoute[]; constructor(); /** * Wrap a middleware to catch the async errors * @param fn * @private */ private wrapMiddleware; /** * Wrap a handler to catch the async errors * @param fn * @private */ private wrapHandler; /** * Register route for oas specification * @param method * @param path * @param schema */ private registerRoute; /** * Inject route * @param path * @param method * @param schema * @param middlewares * @param handlers * @private */ private inject; /** * Validate the request using OAS * @param schema */ private validateRequest; /** * GET * @param path * @param schema * @param middlewares * @param handlers */ get(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * POST * @param path * @param schema * @param middlewares * @param handlers */ post(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * PUT * @param path * @param schema * @param middlewares * @param handlers */ put(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * PATCH * @param path * @param schema * @param middlewares * @param handlers */ patch(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * DELETE * @param path * @param schema * @param middlewares * @param handlers */ delete(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * OPTIONS * @param path * @param schema * @param middlewares * @param handlers */ options(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * HEAD * @param path * @param schema * @param middlewares * @param handlers */ head(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; /** * TRACE * @param path * @param schema * @param middlewares * @param handlers */ trace(path: string, schema: SelectSubset, middlewares: RequestHandler[], ...handlers: RouteHandler[]): this; } //# sourceMappingURL=router.d.ts.map