import type { IMatcher, IPathMatchResult } from '../types.js'; /** * PathMatcher provides comprehensive path matching functionality * Supporting exact matches, wildcards, and parameter extraction */ export declare class PathMatcher implements IMatcher { /** * Convert a path pattern to a regex and extract parameter names * Supports: * - Exact paths: /api/users * - Wildcards: /api/* * - Parameters: /api/users/:id * - Mixed: /api/users/:id/* */ private static patternToRegex; /** * Match a path pattern against a request path * @param pattern The pattern to match * @param path The request path to test * @returns Match result with params and remainder */ static match(pattern: string, path: string): IPathMatchResult; /** * Check if a pattern contains parameters or wildcards */ static isDynamicPattern(pattern: string): boolean; /** * Calculate the specificity of a path pattern * Higher values mean more specific patterns */ static calculateSpecificity(pattern: string): number; /** * Find all matching patterns from a list * Returns patterns sorted by specificity (most specific first) */ static findAllMatches(patterns: string[], path: string): Array<{ pattern: string; result: IPathMatchResult; }>; /** * Instance method for interface compliance */ match(pattern: string, path: string): IPathMatchResult; }