///
import * as $fs from 'fs';
import { URL } from 'url';
export declare const Constants: typeof $fs.constants;
export declare type PathLike = $fs.PathLike | string;
export declare type Stats = $fs.Stats;
export interface Descriptor {
path: string;
stats: Stats;
}
export declare class FileSystem {
static readonly constants: typeof $fs.constants;
static append(path: string | number | Buffer | URL, data: any, throws?: boolean): Promise;
static basename(path: string, ext?: string): string;
static close(fd: number, throws?: boolean): Promise;
static dirname(filepath: string): string;
static delete(path: PathLike, throws?: boolean): Promise;
static exists(path: PathLike, throws?: boolean, mode?: number): Promise;
static ext(filename: string): string;
static glob(pattern: string): Promise;
static list(path: PathLike): Promise;
static info(path: PathLike): Promise;
static join(...paths: string[]): string;
static json(path: string | number | Buffer | URL): Promise;
static mkdir(path: PathLike, mode?: number | string, throws?: boolean): Promise;
static mkdirs(paths: string[], mode?: number | string, throws?: boolean): Promise;
static mkdirp(path: string, throws?: boolean): Promise;
static mkdirps(paths: string[], throws?: boolean): Promise;
static open(path: PathLike, flags: string | number, mode?: string | number): Promise;
static read(fd: number, buffer: T, offset: number, length: number, position: number): Promise;
static rename(original: PathLike, filename: PathLike, throws?: boolean): Promise;
static resolve(...paths: string[]): string;
static save(path: number | string | Buffer | URL, object: T, throws?: boolean): Promise;
static stat(path: PathLike): Promise;
static stats(...paths: PathLike[]): Promise;
static write(fd: number, buffer: T, offset?: number, length?: number, position?: number): Promise;
}
export declare const fs: typeof FileSystem;