import * as fs from "fs";
import * as path_1 from "path";
export interface IFileInfo extends path_1.ParsedPath {
    isDirectory?: boolean;
    length?: number;
}
export default class FileApi {
    readonly root: string;
    constructor(root: string);
    parse(path: string): IFileInfo;
    join(p1: string, p2: string): string;
    resolve(...path: string[]): string;
    relative(path1: string, path2: string): string;
    readString(path: string): Promise<string>;
    appendString(path: string, data: string): Promise<void>;
    writeString(path: string, data: string | any): Promise<void>;
    exists(path: string): Promise<boolean>;
    writeOnlyIfChanged(path: string, content: string): Promise<void>;
    stat(file: string): Promise<fs.Stats>;
    statSync(file: any): fs.Stats;
    readDir(folder: string | IFileInfo, filter?: (file: IFileInfo) => boolean, nest?: boolean): Promise<IFileInfo[]>;
    private flat;
}
//# sourceMappingURL=FileApi.d.ts.map