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<IPathMatchResult> {
    /**
     * 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;
}
