import {IncomingMessage} from 'http'; import {Route} from './route/index.js'; import {RouteDefinition} from './route/index.js'; import {ServiceContainer} from '@e22m4u/js-service'; import {DebuggableService} from './debuggable-service.js'; /** * Resolved route. */ export type ResolvedRoute = { route: Route; params: {[key: string]: string | undefined}; }; /** * Route registry. */ export declare class RouteRegistry extends DebuggableService { /** * Constructor. * * @param container */ constructor(container: ServiceContainer); /** * Define route. * * @param routeDef */ defineRoute(routeDef: RouteDefinition): Route; /** * Match route by request. * * @param request */ matchRouteByRequest(request: IncomingMessage): ResolvedRoute | undefined; }