export interface FileWatcher { close(): void; } export declare enum FileWatcherEventKind { Created = 0, Changed = 1, Deleted = 2 } export declare type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; export declare type DirectoryWatcherCallback = (fileName: string) => void; export interface FilesystemHost { readDirectory(rootDir: string, extensions: string[]): string[]; fileExists(path: string): boolean; readFile(path: string): string | undefined; watchFile(path: string, callback: FileWatcherCallback): FileWatcher; watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean): FileWatcher; } export declare function findNearestFile(fs: FilesystemHost, dir: string, name: string): string | null; //# sourceMappingURL=FilesystemHost.d.ts.map