import { type IngestConfig } from '@cortex/core'; export interface WatcherOptions { dirs: string[]; exclude: string[]; fileTypes: string[]; debounceMs: number; followSymlinks: boolean; maxFileSize: number; ignoreInitial?: boolean; } export type FileChangeHandler = (path: string, changeType: 'add' | 'change' | 'unlink') => void; export declare class FileWatcher { private watcher; private options; private handler; private debounceTimers; constructor(options: WatcherOptions); static fromConfig(config: IngestConfig): FileWatcher; onFileChange(handler: FileChangeHandler): void; start(): void; stop(): Promise; private handleEvent; private isExcluded; private buildIgnorePatterns; } //# sourceMappingURL=watcher.d.ts.map