import { FileEvent, PathSpec } from '../types.ts'; import type { WatchOptions, WatchRegistry, WatchRuntime } from './base.ts'; import type { QueueFactory } from './queue/base.ts'; export declare class Watcher implements WatchRuntime { private readonly registry; private readonly queueFactory; private readonly subscribers; private closed; constructor(registry: WatchRegistry, queueFactory?: QueueFactory); private frame; private inScope; private matches; /** * Evict one path and every cached ancestor listing above it. * * The chain itself is the cache manager's to walk, not this class's: it * already walks one for the keyed stores that materialize a missing level on * write, and a second walk here would be the same rule kept in two places * with two stopping conditions to keep in step. * * How far down the eviction reaches is the change's kind. UNKNOWN means * precision was lost and everything under the path must be re-inventoried, * which is what a push notification that can name only a scope reports * (IMAP IDLE says a mailbox changed, not which message), so it takes the * subtree. Every other kind names a path and evicts that path alone. */ private evict; private invalidate; notify(change: FileEvent): Promise; watch(path: PathSpec | readonly PathSpec[], options?: WatchOptions): AsyncGenerator; close(): Promise; } //# sourceMappingURL=watcher.d.ts.map