type CacheValue = { cacheValue: T; } & ({ fileDependencies?: Set; globDependencies: Set; } | { fileDependencies: Set; globDependencies?: Set; }); export interface FileWatchCache { get(key: string): Promise> | undefined; set(key: string, promise: Promise>): Promise>; /** * #description Get a cache value, or lazily set the value if it doesn't exist * and then return the new cache value. This lets you interact with the cache * in a single expression. */ getOrSet(key: string, lazySetter: () => Promise>): Promise>; invalidateFile(path: string): void; } export declare function createFileWatchCache(): FileWatchCache; export {};