/**
 * Runtime Trie Matching
 *
 * Walks the pre-built trie by path segments in O(path_length) time.
 * Falls back to null when no match is found (caller uses regex fallback).
 */
import type { TrieNode } from "../build/route-trie.js";
export interface TrieMatchResult {
    /** Route name */
    routeKey: string;
    /** Static prefix of the matched entry */
    sp: string;
    /** Matched route params */
    params: Record<string, string>;
    /** Optional param names (absent params have empty string value) */
    optionalParams?: string[];
    /** Ancestry shortCodes for layout pruning */
    ancestry: string[];
    /** Redirect target if trailing slash requires it */
    redirectTo?: string;
    /** Route has pre-rendered data available */
    pr?: true;
    /** Passthrough: handler kept for live fallback on unknown params */
    pt?: true;
    /** Response type for non-RSC routes (json, text, image, any) */
    responseType?: string;
    /** Negotiate variants: response-type routes sharing this path */
    negotiateVariants?: Array<{
        routeKey: string;
        responseType: string;
    }>;
    /** RSC-first: RSC route was defined before response-type variants */
    rscFirst?: true;
}
/**
 * Try to match a pathname against the trie.
 * Returns null if no match found (caller should fall back to regex).
 */
export declare function tryTrieMatch(trie: TrieNode | null, pathname: string): TrieMatchResult | null;
//# sourceMappingURL=trie-matching.d.ts.map