import { ObjectStorageObject } from './object-storage-object.entity'; export type DeleteResult = { deleted: boolean; }; export declare class SignedUploadUrl { url: string; method: string; rangeStart: number; rangeEnd: number; part: number; } export declare class Upload { uploadId: string; parts: SignedUploadUrl[]; } export declare class SignedUploadUrlResult { part: number; etag: string; } export declare class CompleteUploadRequest { uploadId: string; parts: SignedUploadUrlResult[]; } export declare class RefreshSignedUrlsRequest { uploadId: string; parts: number[]; } export type ObjectStorageProviderOptions = { cdnUrlPrefix: string; }; export declare abstract class AbstractObjectStorageProvider { readonly options: Readonly; constructor(options: Readonly); abstract createUpload(object: ObjectStorageObject): Promise; abstract refreshSignedUrls(object: ObjectStorageObject, request: RefreshSignedUrlsRequest): Promise; abstract completeUpload(object: ObjectStorageObject, completion: CompleteUploadRequest): Promise; abstract deleteFile(file: string): Promise; abstract fileExists(file: string): Promise; }