import { Readable } from 'stream'; export interface StorageDriver { upload(filePath: string, file: Buffer | Readable): Promise; uploadStream(filePath: string, file: Readable, options?: { recreateClient?: boolean }): Promise; copy(fromFilePath: string, toFilePath: string): Promise; read(filePath: string): Promise; readStream(filePath: string): Promise; exists(filePath: string): Promise; getUrl(filePath: string): string; getSignedUrl(filePath: string, expireIn: number): Promise; delete(filePath: string): Promise; getDriver(): any; getDriverName(): string; getConfig(): Record; }