import type { Swagger } from 'swagger/swagger'; import type { Request } from './request'; import type { Response } from './response'; import type { Blaze } from './server'; export declare namespace Router { type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; type HandlerInfo = { handler: Blaze.RequestHandler; pattern?: RegExp; paramNames?: string[]; }; type NodeHandler = Partial>; } export declare class Router { private readonly root; private readonly routes; private swagger?; enableSwagger(swagger: Swagger): void; aggregate(otherRouter: Router): void; register(method: Router.Method, path: string, requestHandler: Blaze.RequestHandler, swaggerConfig?: Swagger.EndpointConfig): void; route(req: Request, res: Response): Promise; private getPathSegments; private getNodeForSegments; }