/// <reference types="node" />
import fs, { Dirent } from 'fs';
export interface ReadDirOptions {
    absolute?: boolean;
    dirent?: boolean;
}
interface ReadDirOptionsWithDirent extends ReadDirOptions {
    dirent: true;
}
export declare function readDir(path: string, absolute?: boolean): Promise<string[]>;
export declare function readDir(path: string, options?: ReadDirOptionsWithDirent): Promise<Dirent[]>;
/**
 * Création d'un répertoire
 *
 * @param {String} path
 *
 * @returns {promise}
 */
export declare function createDir(path: string): Promise<void>;
/**
 * Préparation d'un répertoire
 *
 * @param {String} path
 *
 * @returns {promise}
 */
export declare function prepareDir(path: string): Promise<void>;
type RecursiveReadDirCallback = (file: string, stats: fs.Stats) => boolean;
type RecursiveReadDirExclude = string | RecursiveReadDirCallback;
export interface RecursiveReadDirOptions {
    exclude?: RecursiveReadDirExclude | RecursiveReadDirExclude[];
    include?: RecursiveReadDirExclude | RecursiveReadDirExclude[];
    /**
     * @default false
     */
    absolute?: boolean;
}
/**
 * Lecture récursive d'un dossier
 */
export declare function recursiveReadDir(path: string, options?: RecursiveReadDirOptions): Promise<string[]>;
export declare function rmDir(path: string | string[]): Promise<boolean>;
export declare function getTmpDirPath(suffix?: string): Promise<string>;
export {};
