import { Storage, InputFile, StorageFile, ReadBufferFileOptions, ReadStreamFileOptions, WriteFileOptions } from '@rytass/storages';
import { StorageLocalOptions, StorageLocalUsageInfo } from './typings';
import { Readable } from 'stream';
export declare class LocalStorage extends Storage {
    private readonly directory;
    constructor(options: StorageLocalOptions);
    getUsageInfo(): Promise<StorageLocalUsageInfo>;
    private getFsUsage;
    private getFileFullPath;
    private checkFileExists;
    private writeBuffer;
    private writeStream;
    private readFileBuffer;
    private readFileStream;
    read(key: string): Promise<Readable>;
    read(key: string, options: ReadBufferFileOptions): Promise<Buffer>;
    read(key: string, options: ReadStreamFileOptions): Promise<Readable>;
    write(file: InputFile, options?: WriteFileOptions): Promise<StorageFile>;
    batchWrite(files: InputFile[], options?: WriteFileOptions[]): Promise<StorageFile[]>;
    remove(key: string): Promise<void>;
    isExists(key: string): Promise<boolean>;
}
