export interface JsonReadOptions {
    /**
     * Whether it should throw an error when a reading error occurs.
     */
    throws?: boolean;
}
/**
 * Checks whether a file exists in the location.
 */
export declare function pathExists(filePath: string): Promise<boolean>;
/**
 * Tests a user's permissions for the file or directory specified by filePath.
 * @param filePath The path to test
 * @returns True when the path can be read by the current user.
 */
export declare function canRead(filePath: string): Promise<boolean>;
/**
 * Tests a user's permissions for the file or directory specified by filePath.
 * @param filePath The path to test
 * @returns True when the path can be written to by the current user.
 */
export declare function canWrite(filePath: string): Promise<boolean>;
/**
 * Reads the contents of a JSON file.
 *
 * @param filePath The path to the JSON file to read.
 * @returns The contents of the file. When `throws` options is not set and error occurs then it returns an empty file.
 */
export declare function readJson(filePath: string, opts?: JsonReadOptions): Promise<unknown>;
/**
 * Writes the contents to the file.
 *
 * @param filePath The file to write to. It replaces the contents.
 * @param contents The contents to write.
 */
export declare function writeJson(filePath: string, contents: string | unknown): Promise<void>;
/**
 * Ensures the directory exists.
 */
export declare function ensureDir(dirPath: string): Promise<void>;
/**
 * Removes contents of the directory, leaving the directory in the filesystem.
 */
export declare function emptyDir(dirPath: string): Promise<void>;
/**
 * Copies a file or a directory to the destination location.
 * It creates the destination folder when missing.
 *
 * @param source The source file or folder.
 * @param dest The destination file or folder.
 */
export declare function copy(source: string, dest: string): Promise<void>;
//# sourceMappingURL=Fs.d.ts.map