/** * F5 CLI - Document Watcher * Watch directories for new Excel files and auto-import * * @module @f5/cli/core/doc-watcher * @version 1.0.0 */ import { NotificationConfig } from './notification-service.js'; export interface WatcherOptions { directory: string; patterns?: string[]; versionType?: 'major' | 'minor' | 'patch'; debounceMs?: number; ignoreInitial?: boolean; notification?: NotificationConfig; onImport?: (file: string, version: string) => void; onError?: (file: string, error: Error) => void; } export interface WatcherStats { startedAt: Date; filesProcessed: number; lastProcessed: Date | null; errors: number; } export declare class DocumentWatcher { private watcher; private options; private processor; private manager; private notifier; private stats; private processingQueue; private debounceTimers; constructor(options: WatcherOptions); /** * Start watching for file changes */ start(): void; /** * Stop watching */ stop(): Promise; /** * Handle file change with debouncing */ private handleFileChange; /** * Process a single file */ private processFile; /** * Handle watcher errors */ private handleError; /** * Get current stats */ getStats(): WatcherStats; /** * Print stats summary */ private printStats; }