import type { MiddlewareFunction, RouteHandler } from '../http/types'; export interface RouteNode { children: Map; paramChild?: { node: RouteNode; paramName: string; }; wildcardChild?: { node: RouteNode; }; handlers: Map; } export interface RegisteredRoute { handler: RouteHandler; originalHandler?: RouteHandler; middlewares: MiddlewareFunction[]; pattern: string; name?: string; paramNames: string[]; meta: Record; } export interface MatchResult { route: RegisteredRoute; params: Record; } export declare class RouteTrie { root: RouteNode; namedRoutes: Map; add(method: string, path: string, handler: RouteHandler, middlewares?: MiddlewareFunction[], name?: string, meta?: Record): void; match(method: string, path: string): MatchResult | null; private _match; makeUrl(name: string, params?: Record, qs?: Record): string; }