import { StorageBackend, StorageResult, R2StorageConfig, StorageUploadOptions } from './base'; /** * Cloudflare R2 Storage Backend * R2 is S3-compatible, but uses a specific endpoint format */ export declare class R2StorageBackend implements StorageBackend { private config; readonly type: "r2"; readonly hasPublicUrl = true; private endpoint; constructor(config: R2StorageConfig); init(): Promise; upload(buffer: Buffer, filename: string): Promise; uploadStream(stream: NodeJS.ReadableStream, filename: string, options?: StorageUploadOptions): Promise; download(key: string): Promise; downloadStream(key: string): NodeJS.ReadableStream; delete(key: string): Promise; exists(key: string): Promise; private generateAuthorizationHeader; private getSigningKey; }