/** * Hook Pattern Matcher * * Provides pattern matching functionality for hook tool name matching. * Supports exact matching, wildcard patterns, and pipe-separated alternatives. */ export declare class HookMatcher { /** * Test if pattern matches tool name * Supports multiple matching strategies: * - Exact matching: "Edit" matches "Edit" * - Pipe alternatives: "Edit|Write" matches "Edit" or "Write" * - Glob patterns: "Edit*" matches "EditFile", "EditText", etc. * - Case insensitive matching */ matches(pattern: string, toolName: string): boolean; /** * Match a single pattern against tool name */ private matchesSingle; /** * Validate pattern syntax */ isValidPattern(pattern: string): boolean; /** * Validate single pattern syntax */ private isValidSinglePattern; /** * Get pattern type for optimization */ getPatternType(pattern: string): "exact" | "glob" | "regex" | "alternatives"; /** * Get all tool names that would match this pattern from a given list * Useful for testing and validation */ getMatches(pattern: string, tools: string[]): string[]; /** * Optimize pattern for repeated matching * Returns a compiled matcher function for performance */ compile(pattern: string): (toolName: string) => boolean; }