import { WatchOptions } from "../config"; export interface Watcher { close(): void; pause(): void; getAggregatedChanges?(): Set; getAggregatedRemovals?(): Set; getFileTimeInfoEntries?(): Map; getContextTimeInfoEntries?(): Map; getInfo(): WatcherInfo; } export interface WatcherInfo { changes: Set; removals: Set; fileTimeInfoEntries: Map; contextTimeInfoEntries: Map; } export interface FileSystemInfoEntry { safeTime: number; timestamp?: number; } export interface WatchFileSystem { watch(files: Iterable, directories: Iterable, missing: Iterable, startTime: number, options: WatchOptions, callback: (error: Error | null, fileTimeInfoEntries: Map, contextTimeInfoEntries: Map, changedFiles: Set, removedFiles: Set) => void, callbackUndelayed: (fileName: string, changeTime: number) => void): Watcher; }