use std::{
io,
path::{Path, PathBuf},
};
use oxc_resolver::FileSystem as OxcResolverFileSystem;
pub trait FileSystem: Send + Sync + OxcResolverFileSystem {
fn remove_dir_all(&self, path: &Path) -> io::Result<()>;
fn create_dir_all(&self, path: &Path) -> io::Result<()>;
fn write(&self, path: &Path, content: &[u8]) -> io::Result<()>;
fn exists(&self, path: &Path) -> bool;
fn read(&self, path: &Path) -> io::Result<Vec<u8>>;
fn read_dir(&self, path: &Path) -> io::Result<Vec<PathBuf>>;
fn remove_file(&self, path: &Path) -> io::Result<()>;
}