/** @packageDocumentation * @module CloudStorage */ /** @beta */ export declare enum CloudStorageProvider { Azure = 0, Amazon = 1, AliCloud = 2, External = 3, Unknown = 4 } /** @beta */ export interface CloudStorageContainerDescriptor { provider?: CloudStorageProvider; name: string; resource?: string; } /** @beta */ export interface CloudStorageContainerUrl { descriptor: CloudStorageContainerDescriptor; valid: number; expires: number; url: string; method?: string; headers?: Record; bound?: boolean; } /** @beta */ export declare namespace CloudStorageContainerUrl { function empty(): CloudStorageContainerUrl; } /** @beta */ export declare abstract class CloudStorageCache { private _containers; provider: CloudStorageProvider; abstract formContainerName(id: TContentId): string; abstract formResourceName(id: TContentId): string; protected formContainerKey(id: TContentId): string; protected abstract obtainContainerUrl(id: TContentId, descriptor: CloudStorageContainerDescriptor): Promise; protected abstract instantiateResource(response: Response): Promise; protected supplyUrlBase(_container: CloudStorageContainerUrl, _id: TContentId): string | undefined; constructor(); retrieve(id: TContentId): Promise; protected requestResource(container: CloudStorageContainerUrl, id: TContentId): Promise; private _pendingContainerRequests; protected getContainer(id: TContentId): Promise; } //# sourceMappingURL=CloudStorage.d.ts.map