export interface StorageProvider { uploadFile(buffer: Buffer, filename: string, mimeType: string): Promise; downloadFile(fileId: string): Promise; deleteFile(fileId: string): Promise; getPublicUrl(fileId: string): Promise; getSignedUrl(fileId: string, expiresIn: number): Promise; listFiles(prefix?: string): Promise; } export interface StorageFile { id: string; filename: string; mimeType: string; size: number; url: string; lastModified: string; etag?: string; metadata?: Record; } export interface StorageConfig { accessKey: string; secretKey: string; region: string; bucket: string; endpoint: string; cdnUrl?: string; forcePathStyle?: boolean; signatureVersion?: string; } export interface UploadOptions { metadata?: Record; contentType?: string; cacheControl?: string; expires?: Date; tags?: Record; } export interface ListOptions { prefix?: string; maxKeys?: number; continuationToken?: string; } export interface ListResult { files: StorageFile[]; isTruncated: boolean; nextContinuationToken?: string; count: number; } export interface SignedUrlOptions { expiresIn: number; method?: 'GET' | 'PUT' | 'DELETE'; contentType?: string; checksum?: string; } export interface StorageError extends Error { code: string; statusCode?: number; region?: string; time: Date; request_id?: string; } //# sourceMappingURL=Storage.d.ts.map