import { EntityDict } from '../../oak-app-domain'; import { Cos, PresignMultiPartUploadFn, UploadFn, UploadToAspect } from "../../types/Cos"; import { OpSchema } from '../../oak-app-domain/ExtraFile/Schema'; import { S3CosConfig } from '../../types/Config'; export default class S3 implements Cos { name: string; autoInform(): boolean; protected getConfig(application: Partial): { config: S3CosConfig; account: import("../../types/Config").S3AccountConfig; endpoint: string | undefined; defaultBucket: string; }; protected formKey(extraFile: Partial): string; upload(options: { extraFile: OpSchema; presignMultiPartUpload?: PresignMultiPartUploadFn; uploadFn: UploadFn; file: string | File; uploadToAspect?: UploadToAspect; getPercent?: Function; parallelism?: number; retryTimes?: number; retryDelay?: number; onChunkSuccess?: (chunkInfo: EntityDict['extraFile']['Schema']['chunkInfo']) => Promise; }): Promise; composeFileUrl(options: { application: Partial; extraFile: Partial; style?: string; }): string; }