import type { MultiPartFile } from "../lara/client"; export type S3UploadFields = { acl: string; bucket: string; key: string; }; /** @internal */ export declare abstract class S3Client { upload(url: string, fields: S3UploadFields, file: MultiPartFile, length?: number): Promise; protected abstract _upload(url: string, fields: S3UploadFields, file: any, length?: number): Promise; protected abstract download(url: string): Promise; protected abstract downloadStream(url: string): Promise; protected abstract wrapMultiPartFile(file: MultiPartFile): any; }