export interface IFileDriver { getUpload: () => any; getName: () => string; getPath: (key: string) => string; copy: (src: string, dest: string) => Promise; write: (key: string, content: any) => Promise; read: (key: string) => Promise; stat: (key: string) => Promise; delete: (params: string | string[]) => Promise; createReadStream: (key: string, options?: any) => any; createWriteStream: (key: string, options?: any) => any; uploadReadableStream?: (key: string, stream: any) => Promise; } export default class FileDriver implements IFileDriver { private static instance; private implementation; constructor(); static getInstance(): IFileDriver; getUpload: () => any; getPath: (key: string) => string; getName: () => string; copy: (src: string, dest: string) => Promise; write: (key: string, content: any) => Promise; read: (key: string) => Promise; stat: (key: string) => Promise; delete: (params: string | string[]) => Promise; createReadStream: (key: string, options?: any) => any; createWriteStream: (key: string, options?: any) => any; uploadReadableStream: (key: string, stream: any) => Promise; }