import { AxioHttpRequest, AxioHttpResponse, RouteHandler, RouteOptions } from "./HttpTypes"; export default class HttpRouter { private prefix; private routes; private notFoundHandler?; constructor(prefix?: string); get(path: string, optionsOrHandler: RouteOptions | RouteHandler, maybeHandler?: RouteHandler): void; post(path: string, optionsOrHandler: RouteOptions | RouteHandler, maybeHandler?: RouteHandler): void; put(path: string, optionsOrHandler: RouteOptions | RouteHandler, maybeHandler?: RouteHandler): void; patch(path: string, optionsOrHandler: RouteOptions | RouteHandler, maybeHandler?: RouteHandler): void; delete(path: string, optionsOrHandler: RouteOptions | RouteHandler, maybeHandler?: RouteHandler): void; setNotFoundHandler(handler: RouteHandler): void; register(plugin: (router: HttpRouter, options: T) => Promise | void, options?: T & { prefix?: string; }): Promise; handle(request: AxioHttpRequest, reply: AxioHttpResponse): Promise; private addRoute; private matchRoute; private normalizePath; }