import type { Stats } from "node:fs"; export interface FileSystem { readFile(path: string, encoding: BufferEncoding): Promise; readFile(path: string): Promise; symlink(target: string, path: string): Promise; readlink(path: string): Promise; realpath(path: string): Promise; writeFile(path: string, data: string | NodeJS.ArrayBufferView, options?: { encoding?: BufferEncoding; flag?: string; }): Promise; mkdir(path: string, options?: { recursive?: boolean; }): Promise; stat(path: string): Promise; lstat(path: string): Promise; rename(oldPath: string, newPath: string): Promise; rm?(path: string, options?: { recursive?: boolean; force?: boolean; }): Promise; unlink(path: string): Promise; readdir(path: string): Promise; copyFile?(src: string, dest: string): Promise; chmod?(path: string, mode: number): Promise; } export type PathExistsFn = (path: string) => Promise;