import { IncomingFile, PresignedUpload, StoredObject } from '../../interfaces/file.interface'; import { ExistsResult, StorageAdapter } from '../../interfaces/storage-adapter.interface'; import { S3StorageConfig } from '../../interfaces/upload-options.interface'; /** AWS S3 adapter — real multipart upload (lib-storage) + presigned PUT/GET. */ export declare class S3Adapter implements StorageAdapter { private readonly cfg; readonly name = "s3"; private readonly client; private readonly cmd; private readonly Upload; private readonly presigner; private readonly bucket; private readonly publicBaseUrl; constructor(cfg: S3StorageConfig); upload(file: IncomingFile, key: string, meta?: Record): Promise; download(key: string): Promise; delete(key: string): Promise; exists(key: string): Promise; getSignedUploadUrl(key: string, opts: { expiresIn: number; contentType?: string; }): Promise; getSignedDownloadUrl(key: string, opts: { expiresIn: number; }): Promise; copy(srcKey: string, destKey: string): Promise; publicUrl(key: string): string; readRange(key: string, start: number, end: number): Promise; }