export interface IFileDriver {
    getUpload: () => any;
    getName: () => string;
    getPath: (key: string) => string;
    copy: (src: string, dest: string) => Promise<any>;
    write: (key: string, content: any) => Promise<any>;
    read: (key: string) => Promise<any>;
    stat: (key: string) => Promise<any>;
    delete: (params: string | string[]) => Promise<any>;
    createReadStream: (key: string, options?: any) => any;
    createWriteStream: (key: string, options?: any) => any;
    uploadReadableStream?: (key: string, stream: any) => Promise<any>;
}
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<any>;
    write: (key: string, content: any) => Promise<any>;
    read: (key: string) => Promise<any>;
    stat: (key: string) => Promise<any>;
    delete: (params: string | string[]) => Promise<any>;
    createReadStream: (key: string, options?: any) => any;
    createWriteStream: (key: string, options?: any) => any;
    uploadReadableStream: (key: string, stream: any) => Promise<any>;
}
