import { Middleware } from "@zenweb/core";
import { RouterMatch, RouterParams } from "./types";
interface ParamParse {
    SORT: number;
    parse(input: string): RouterParams | undefined;
}
export declare function parseParams(segment: string): ParamParse;
declare class TrieNode {
    children: Map<any, any>;
    paramNodes?: TrieNode[];
    paramParse?: ParamParse;
    handler?: Middleware;
}
export declare class ParamPath {
    root: TrieNode;
    addRoute(path: string, handler: Middleware): void;
    match(path: string): RouterMatch | undefined;
    matchNode(node: TrieNode, segments: string[], index: number, params: RouterParams): RouterMatch | undefined;
}
export {};
