/// <reference types="node" />
import { Writable } from 'stream';
import { IFMRepository } from './FMRepository';
export declare class DiskFileSystemRepository implements IFMRepository {
    private getDirsInDir;
    getName: (dirPath: string) => Promise<string[]>;
    getFileWidth: (filePath: string) => Promise<number>;
    getFileHeight: (filePath: string) => Promise<number>;
    // getFileBlurHash: (dirPath: string) => Promise<string[]>;
    getDirectories: (dirPath: string) => Promise<string[]>;
    createDirectory: (dirPath: string, name: string) => Promise<void>;
    removeDirectory: (dirPath: string) => Promise<void>;
    copyDirectory: (dirPath: string, newPath: string) => Promise<void>;
    renameDirectory: (dirPath: string, newName: string) => Promise<void>;
    moveDirectory: (dirPath: string, newPath: string) => Promise<void>;
    downloadDirectory: (dirPath: string, out: Writable) => Promise<void>;
    countFiles: (dirPath: string) => Promise<number>;
    countDirectories: (dirPath: string) => Promise<number>;
    getFiles: (dirPath: string) => Promise<string[]>;
    getFileSize: (filePath: string) => Promise<number>;
    getFileCreationTime: (filePath: string) => Promise<number>;
    removeFile: (filePath: string) => Promise<void>;
    copyFile: (filePath: string, newPath: string) => Promise<void>;
    renameFile: (filePath: string, newName: string) => Promise<void>;
    moveFile: (filePath: string, newPath: string) => Promise<void>;
    isDirectoryOrFileExists: (dirPath: string) => boolean;
    getImageOriginal: (filePath: string) => Promise<Buffer>;
    getImagePreview: (filePath: string, width: number, height: number, cachePath: string) => Promise<Buffer>;
}
