/** * Watcher backend abstraction. * * Decouples the orchestration logic in watcher.ts from the underlying * filesystem-watching library. Swap backends by providing a different * WatcherBackend implementation — no changes needed in watcher.ts. */ export interface RawWatchEvent { type: 'create' | 'update' | 'delete'; path: string; } export interface WatcherBackendOptions { ignoreGlobs: string[]; } export interface WatcherSubscription { readonly id: string; } export interface WatcherBackend { subscribe(dir: string, callback: (events: RawWatchEvent[]) => void, options: WatcherBackendOptions): Promise; initialScan(dir: string, callback: (events: RawWatchEvent[]) => void, options: WatcherBackendOptions): Promise; unsubscribe(subscription: WatcherSubscription): Promise; } export declare class ParcelWatcherBackend implements WatcherBackend { private subs; private nextSubId; subscribe(dir: string, callback: (events: RawWatchEvent[]) => void, options: WatcherBackendOptions): Promise; initialScan(dir: string, callback: (events: RawWatchEvent[]) => void, options: WatcherBackendOptions): Promise; unsubscribe(subscription: WatcherSubscription): Promise; } //# sourceMappingURL=watcher-backend.d.ts.map