import type { ITerminal } from '@rushstack/terminal'; import { type ICloudBuildCacheProvider } from '@rushstack/rush-sdk'; import { AzureStorageAuthentication, type IAzureStorageAuthenticationOptions } from './AzureStorageAuthentication'; export interface IAzureStorageBuildCacheProviderOptions extends IAzureStorageAuthenticationOptions { blobPrefix?: string; readRequiresAuthentication?: boolean; } export declare class AzureStorageBuildCacheProvider extends AzureStorageAuthentication implements ICloudBuildCacheProvider { private readonly _blobPrefix; private readonly _environmentCredential; private readonly _readRequiresAuthentication; get isCacheWriteAllowed(): boolean; private _containerClient; constructor(options: IAzureStorageBuildCacheProviderOptions); tryGetCacheEntryBufferByIdAsync(terminal: ITerminal, cacheId: string): Promise; trySetCacheEntryBufferAsync(terminal: ITerminal, cacheId: string, entryBuffer: Buffer): Promise; tryDownloadCacheEntryToFileAsync(terminal: ITerminal, cacheId: string, localFilePath: string): Promise; tryUploadCacheEntryFromFileAsync(terminal: ITerminal, cacheId: string, localFilePath: string): Promise; /** * Shared logic for both buffer-based and file-based GET operations. * Checks if the blob exists, retrieves data via the provided callback, and handles errors. */ private _tryGetBlobDataAsync; /** * Shared logic for both buffer-based and file-based SET operations. * Checks write permission, whether the blob already exists, uploads via the provided callback, * and handles 409 conflict errors. */ private _trySetBlobDataAsync; private _getBlobClientForCacheIdAsync; private _logBlobError; private _getContainerClientAsync; private _getConnectionString; } //# sourceMappingURL=AzureStorageBuildCacheProvider.d.ts.map