import type { ITerminal } from '@rushstack/terminal';
import type { RushConfiguration } from '../../api/RushConfiguration';
import type { RushUserConfiguration } from '../../api/RushUserConfiguration';
/**
 * Options for creating a file system build cache provider.
 * @beta
 */
export interface IFileSystemBuildCacheProviderOptions {
    /**
     * The workspace Rush configuration
     */
    rushConfiguration: RushConfiguration;
    /**
     * The user Rush configuration
     */
    rushUserConfiguration: RushUserConfiguration;
}
/**
 * A build cache provider using the local file system.
 * Required by all cloud cache providers.
 * @beta
 */
export declare class FileSystemBuildCacheProvider {
    private readonly _cacheFolderPath;
    constructor(options: IFileSystemBuildCacheProviderOptions);
    /**
     * Returns the absolute disk path for the specified cache id.
     */
    getCacheEntryPath(cacheId: string): string;
    /**
     * Validates that the specified cache id exists on disk, and returns the path if it does.
     */
    tryGetCacheEntryPathByIdAsync(terminal: ITerminal, cacheId: string): Promise<string | undefined>;
    /**
     * Writes the specified buffer to the corresponding file system path for the cache id.
     */
    trySetCacheEntryBufferAsync(terminal: ITerminal, cacheId: string, entryBuffer: Buffer): Promise<string>;
}
//# sourceMappingURL=FileSystemBuildCacheProvider.d.ts.map