import type { IMatcher, IDomainMatchOptions } from '../types.js';
/**
 * DomainMatcher provides comprehensive domain matching functionality
 * Supporting exact matches, wildcards, and case-insensitive matching
 */
export declare class DomainMatcher implements IMatcher<boolean, IDomainMatchOptions> {
    private static wildcardToRegex;
    /**
     * Match a domain pattern against a hostname
     * @param pattern The pattern to match (supports wildcards like *.example.com)
     * @param hostname The hostname to test
     * @param options Matching options
     * @returns true if the hostname matches the pattern
     */
    static match(pattern: string, hostname: string, options?: IDomainMatchOptions): boolean;
    /**
     * Check if a pattern contains wildcards
     */
    static isWildcardPattern(pattern: string): boolean;
    /**
     * Calculate the specificity of a domain 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[], hostname: string, options?: IDomainMatchOptions): string[];
    /**
     * Instance method for interface compliance
     */
    match(pattern: string, hostname: string, options?: IDomainMatchOptions): boolean;
}
