/** * Utility class for efficient file discovery operations * Provides optimized file search with caching and security * * IMPLEMENTATION (PR #503 - PR #496 Recommendation): * 1. PERFORMANCE: Single readdir operation instead of multiple file checks * 2. PERFORMANCE: 5-second cache TTL for repeated searches * 3. SECURITY: Unicode normalization for all search inputs * 4. MEMORY: Efficient cache management with 100 entry limit * * This addresses the PR #496 review recommendation to extract file discovery * logic to a reusable utility class for better performance and maintainability. */ export interface FileSearchOptions { extensions?: string[]; partialMatch?: boolean; maxResults?: number; cacheResults?: boolean; } export declare class FileDiscoveryUtil { private static readonly CACHE_TTL; private static cache; /** * Find files in a directory with optimized search * Uses single readdir operation and filters results */ static findFiles(directory: string, searchName: string, options?: FileSearchOptions): Promise; /** * Build search patterns for different file extensions */ private static buildSearchPatterns; /** * Check if filename matches pattern */ private static matchesPattern; /** * Get cached results if still valid */ private static getCached; /** * Cache results with timestamp */ private static setCached; /** * Clear the cache */ static clearCache(): void; /** * Find a single file (convenience method) */ static findFile(directory: string, searchName: string, options?: FileSearchOptions): Promise; } //# sourceMappingURL=FileDiscoveryUtil.d.ts.map