/** * Pattern evaluation logging for verbose mode */ /** * Information about how a file was evaluated against patterns */ export interface PatternMatchInfo { readonly filePath: string; readonly includeMatches: Array<{ pattern: string; matched: boolean; reason?: string; }>; readonly excludeMatches: Array<{ pattern: string; matched: boolean; reason?: string; }>; readonly gitignoreStatus: { ignored: boolean; reason?: string; }; readonly finalDecision: 'included' | 'excluded'; readonly decisionReason: string; readonly evaluationTimeMs?: number; } /** * Configuration and timing information for pattern evaluation */ export interface PatternConfiguration { readonly includePatterns: string[]; readonly excludePatterns: string[]; readonly gitignorePath?: string; readonly supportedExtensions: string[]; readonly excludedDirectories: string[]; } /** * Performance metrics for pattern evaluation */ export interface PatternPerformanceMetrics { readonly totalFiles: number; readonly includedFiles: number; readonly excludedFiles: number; readonly totalEvaluationTimeMs: number; readonly averageFileEvaluationMs: number; readonly patternCacheStats?: { globHitRate: number; ignoreHitRate: number; totalCacheQueries: number; }; } /** * Logger for tracking and displaying pattern matching decisions */ export declare class PatternLogger { private fileEvaluations; private configuration?; private startTime; private endTime; /** * Set the pattern configuration being used */ setConfiguration(config: PatternConfiguration): void; /** * Start timing the evaluation process */ startEvaluation(): void; /** * End timing the evaluation process */ endEvaluation(): void; /** * Log the evaluation of a single file */ logFileEvaluation(matchInfo: PatternMatchInfo): void; /** * Get performance metrics for the evaluation */ getPerformanceMetrics(cacheStats?: { globHitRate: number; ignoreHitRate: number; totalCacheQueries: number; }): PatternPerformanceMetrics; /** * Get sample files with their evaluation reasons */ getSampleFiles(maxSamples?: number): { included: PatternMatchInfo[]; excluded: PatternMatchInfo[]; }; /** * Print a comprehensive verbose log to console */ printVerboseLog(): void; /** * Print pattern configuration summary */ private printConfiguration; /** * Print performance metrics */ private printPerformanceMetrics; /** * Print sample file evaluations with reasons */ private printSampleFileEvaluations; /** * Print pattern conflict detection and resolution */ private printConflictDetection; /** * Analyze and report pattern effectiveness */ private analyzePatternEffectiveness; /** * Clear all logged data */ clear(): void; } /** * Get or create the global pattern logger instance */ export declare function getGlobalPatternLogger(): PatternLogger; /** * Clear the global pattern logger */ export declare function clearGlobalPatternLogger(): void; //# sourceMappingURL=pattern-logger.d.ts.map