/** * TypeScript Watch Manager - Core diagnostic collection engine */ import { EventEmitter } from 'node:events'; import type { DiagnosticResult, TSProjectConfig, WatchStatus } from '../types/index.js'; /** * Manages TypeScript watch programs for one or more projects */ export declare class TypeScriptWatchManager extends EventEmitter { private watchers; private diagnosticsByConfig; private cache; private isActive; private lastCompilation?; private configs; private ignorePatterns; constructor(configs: TSProjectConfig[], cacheSizeMB?: number, ignorePatterns?: string[]); /** * Start watching all configured projects */ start(): void; /** * Start watching a single tsconfig */ private startWatchingConfig; /** * Handle individual diagnostic from TypeScript */ private onDiagnostic; /** * Handle watch status changes */ private onWatchStatusChange; /** * Get all diagnostics for a specific config */ private getAllDiagnosticsForConfig; /** * Get all diagnostics across all configs */ getAllDiagnostics(): DiagnosticResult; /** * Get diagnostics for a specific file */ getFileDiagnostics(filePath: string): DiagnosticResult; /** * Get diagnostics for a specific package (monorepo) */ getPackageDiagnostics(packageName: string): DiagnosticResult | null; /** * Check if there are any errors */ hasErrors(filePath?: string): boolean; /** * Get diagnostic count summary */ getDiagnosticCount(): { errors: number; warnings: number; suggestions: number; }; /** * Get watch status */ getStatus(): WatchStatus; /** * Get total files being watched */ private getTotalFilesWatched; /** * Clear diagnostics for a file */ clearFileDiagnostics(filePath: string): void; /** * Clear all diagnostics */ clearAllDiagnostics(): void; /** * Stop watching */ stop(): void; /** * Get cache statistics */ getCacheStats(): import("../types/index.js").CacheStats; /** * Build a diagnostic result object */ private buildDiagnosticResult; /** * Trigger recompilation (force refresh) */ triggerRecompile(): void; /** * Get list of all packages (for monorepo) */ getPackages(): string[]; } //# sourceMappingURL=watch-manager.d.ts.map