import type { NodeFsStats, ThreadsafeNodeFS } from '@rspack/binding'; import { type InputFileSystem, type IntermediateFileSystem, type OutputFileSystem } from './util/fs.js'; declare class ThreadsafeInputNodeFS implements ThreadsafeNodeFS { writeFile: (name: string, content: Buffer) => Promise; removeFile: (name: string) => Promise; mkdir: (name: string) => Promise; mkdirp: (name: string) => Promise; removeDirAll: (name: string) => Promise; readDir: (name: string) => Promise; readFile: (name: string) => Promise; stat: (name: string) => Promise; lstat: (name: string) => Promise; chmod?: (name: string, mode: number) => Promise; realpath: (name: string) => Promise; open: (name: string, flags: string) => Promise; rename: (from: string, to: string) => Promise; close: (fd: number) => Promise; write: (fd: number, content: Buffer, position: number) => Promise; writeAll: (fd: number, content: Buffer) => Promise; read: (fd: number, length: number, position: number) => Promise; readUntil: (fd: number, code: number, position: number) => Promise; readToEnd: (fd: number, position: number) => Promise; constructor(fs?: InputFileSystem); static __to_binding(fs?: InputFileSystem): ThreadsafeInputNodeFS; static needsBinding(ifs?: false | RegExp[]): boolean; } declare class ThreadsafeOutputNodeFS implements ThreadsafeNodeFS { writeFile: (name: string, content: Buffer) => Promise; removeFile: (name: string) => Promise; mkdir: (name: string) => Promise; mkdirp: (name: string) => Promise; removeDirAll: (name: string) => Promise; readDir: (name: string) => Promise; readFile: (name: string) => Promise; stat: (name: string) => Promise; lstat: (name: string) => Promise; chmod?: (name: string, mode: number) => Promise; realpath: (name: string) => Promise; open: (name: string, flags: string) => Promise; rename: (from: string, to: string) => Promise; close: (fd: number) => Promise; write: (fd: number, content: Buffer, position: number) => Promise; writeAll: (fd: number, content: Buffer) => Promise; read: (fd: number, length: number, position: number) => Promise; readUntil: (fd: number, code: number, position: number) => Promise; readToEnd: (fd: number, position: number) => Promise; constructor(fs?: OutputFileSystem); static __to_binding(fs?: OutputFileSystem): ThreadsafeOutputNodeFS; } declare class ThreadsafeIntermediateNodeFS extends ThreadsafeOutputNodeFS { constructor(fs?: IntermediateFileSystem); static __to_binding(fs?: IntermediateFileSystem): ThreadsafeIntermediateNodeFS; } export { ThreadsafeInputNodeFS, ThreadsafeIntermediateNodeFS, ThreadsafeOutputNodeFS, };