///
///
///
import { sep, dirname, join, parse, relative, resolve } from 'path';
import { chdir, cwd, env, version } from 'process';
import { platform, homedir } from 'os';
import { AsyncFS } from './fs_async';
import { NonAsyncFs } from './fs_non_async';
import { StreamFS } from './fs_stream';
export { AsyncFS };
export interface SystemPath {
sep: typeof sep;
dirname: typeof dirname;
join: typeof join;
parse: typeof parse;
relative: typeof relative;
resolve: typeof resolve;
}
export interface SystemProcess {
chdir: typeof chdir;
cwd: typeof cwd;
env: typeof env;
version: typeof version;
}
export interface SystemOS {
homedir: typeof homedir;
platform: typeof platform;
}
export interface System {
fs: AsyncFS & NonAsyncFs & StreamFS;
path: SystemPath;
process: SystemProcess;
os: SystemOS;
}
export declare function createSystem({ fs, path, process, os, }?: Partial): System;