import type { Readable } from "node:stream"; export interface IStorageService { uploadFile( fileName: string, file: Buffer, mimeType: string, metaData?: Record, bucketName?: string, ): Promise; getFile( fileName: string, bucketName?: string, ): Promise; getFileUrl( fileName: string, expiry?: number, bucketName?: string, ): Promise; getUploadUrl( fileName: string, expiry?: number, bucketName?: string, ): Promise; deleteFile(fileName: string, bucketName?: string): Promise; getFileInfo(fileName: string, bucketName?: string): Promise; moveFile( sourceFileName: string, destinationFileName: string, sourceBucketName?: string, destinationBucketName?: string, ): Promise; }