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 { 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; }