import { Path, type PortablePath } from '@boost/common';
export interface FileCache<T> {
    content: T;
    exists: boolean;
    mtime: number;
}
export declare class Cache {
    configDir?: Path;
    dirFilesCache: Record<string, Path[]>;
    fileContentCache: Record<string, FileCache<any>>;
    pkgPath?: Path;
    rootDir?: Path;
    cacheFileContents<T>(path: Path, commit: () => Promise<T>): Promise<T>;
    cacheFilesInDir(dir: Path, hash: string, commit: () => Promise<Path[]>): Promise<Path[]>;
    clearFileCache(): void;
    clearFinderCache(): void;
    getFileCache<T>(path: Path): FileCache<T> | null;
    markMissingFile(path: Path): this;
    setRootDir(dir: PortablePath): this;
}
//# sourceMappingURL=Cache.d.ts.map