///
import * as fs from "fs";
import { EncodingOptions, ServerProxy } from "../common/proxy";
import { ReadableProxy, WritableProxy } from "./stream";
/**
* A serializable version of fs.Stats.
*/
export interface Stats {
dev: number;
ino: number;
mode: number;
nlink: number;
uid: number;
gid: number;
rdev: number;
size: number;
blksize: number;
blocks: number;
atimeMs: number;
mtimeMs: number;
ctimeMs: number;
birthtimeMs: number;
atime: Date;
mtime: Date;
ctime: Date;
birthtime: Date;
_isFile: boolean;
_isDirectory: boolean;
_isBlockDevice: boolean;
_isCharacterDevice: boolean;
_isSymbolicLink: boolean;
_isFIFO: boolean;
_isSocket: boolean;
}
export declare class ReadStreamProxy extends ReadableProxy {
constructor(stream: fs.ReadStream);
close(): Promise;
dispose(): Promise;
}
export declare class WriteStreamProxy extends WritableProxy {
constructor(stream: fs.WriteStream);
close(): Promise;
dispose(): Promise;
}
export declare class WatcherProxy extends ServerProxy {
constructor(watcher: fs.FSWatcher);
close(): Promise;
dispose(): Promise;
}
export declare class FsModuleProxy {
access(path: fs.PathLike, mode?: number): Promise;
appendFile(file: fs.PathLike | number, data: any, options?: fs.WriteFileOptions): Promise;
chmod(path: fs.PathLike, mode: string | number): Promise;
chown(path: fs.PathLike, uid: number, gid: number): Promise;
close(fd: number): Promise;
copyFile(src: fs.PathLike, dest: fs.PathLike, flags?: number): Promise;
createReadStream(path: fs.PathLike, options?: any): Promise;
createWriteStream(path: fs.PathLike, options?: any): Promise;
exists(path: fs.PathLike): Promise;
fchmod(fd: number, mode: string | number): Promise;
fchown(fd: number, uid: number, gid: number): Promise;
fdatasync(fd: number): Promise;
fstat(fd: number): Promise;
fsync(fd: number): Promise;
ftruncate(fd: number, len?: number | null): Promise;
futimes(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise;
lchmod(path: fs.PathLike, mode: string | number): Promise;
lchown(path: fs.PathLike, uid: number, gid: number): Promise;
link(existingPath: fs.PathLike, newPath: fs.PathLike): Promise;
lstat(path: fs.PathLike): Promise;
lstatBatch(args: {
path: fs.PathLike;
}[]): Promise<(Stats | Error)[]>;
mkdir(path: fs.PathLike, mode: number | string | fs.MakeDirectoryOptions | undefined | null): Promise;
mkdtemp(prefix: string, options: EncodingOptions): Promise;
open(path: fs.PathLike, flags: string | number, mode: string | number | undefined | null): Promise;
read(fd: number, length: number, position: number | null): Promise<{
bytesRead: number;
buffer: Buffer;
}>;
readFile(path: fs.PathLike | number, options: EncodingOptions): Promise;
readdir(path: fs.PathLike, options: EncodingOptions): Promise;
readdirBatch(args: {
path: fs.PathLike;
options: EncodingOptions;
}[]): Promise<(Buffer[] | fs.Dirent[] | string[] | Error)[]>;
readlink(path: fs.PathLike, options: EncodingOptions): Promise;
realpath(path: fs.PathLike, options: EncodingOptions): Promise;
rename(oldPath: fs.PathLike, newPath: fs.PathLike): Promise;
rmdir(path: fs.PathLike): Promise;
stat(path: fs.PathLike): Promise;
statBatch(args: {
path: fs.PathLike;
}[]): Promise<(Stats | Error)[]>;
symlink(target: fs.PathLike, path: fs.PathLike, type?: fs.symlink.Type | null): Promise;
truncate(path: fs.PathLike, len?: number | null): Promise;
unlink(path: fs.PathLike): Promise;
utimes(path: fs.PathLike, atime: string | number | Date, mtime: string | number | Date): Promise;
write(fd: number, buffer: Buffer, offset?: number, length?: number, position?: number): Promise<{
bytesWritten: number;
buffer: Buffer;
}>;
writeFile(path: fs.PathLike | number, data: any, options: EncodingOptions): Promise;
watch(filename: fs.PathLike, options?: EncodingOptions): Promise;
private makeStatsSerializable;
}