import { RuntimeDirEntry } from "../runtimes" ; /**
 * Represents a file system that can be interacted with.
 */ export interface FileSystemHost { /** Gets if this file system is case sensitive. */ isCaseSensitive ( ) : boolean ; /** Asynchronously deletes the specified file or directory. */ delete ( path ) : Promise < void > ; /** Synchronously deletes the specified file or directory */ deleteSync ( path ) : void ; remarks readDirSync ( dirPath ) : RuntimeDirEntry [ ] ; /** Asynchronously reads a file at the specified path. */ readFile ( filePath , encoding ? ) : Promise < string > ; /** Synchronously reads a file at the specified path. */ readFileSync ( filePath , encoding ? ) : string ; /** Asynchronously writes a file to the file system. */ writeFile ( filePath , fileText ) : Promise < void > ; /** Synchronously writes a file to the file system. */ writeFileSync ( filePath , fileText ) : void ; /** Asynchronously creates a directory at the specified path. */ mkdir ( dirPath ) : Promise < void > ; /** Synchronously creates a directory at the specified path. */ mkdirSync ( dirPath ) : void ; /** Asynchronously moves a file or directory. */ move ( srcPath , destPath ) : Promise < void > ; /** Synchronously moves a file or directory. */ moveSync ( srcPath , destPath ) : void ; /** Asynchronously copies a file or directory. */ copy ( srcPath , destPath ) : Promise < void > ; /** Synchronously copies a file or directory. */ copySync ( srcPath , destPath ) : void ; remarks fileExists ( filePath ) : Promise < boolean > ; remarks fileExistsSync ( filePath ) : boolean ; /** Asynchronously checks if a directory exists. */ directoryExists ( dirPath ) : Promise < boolean > ; /** Synchronously checks if a directory exists. */ directoryExistsSync ( dirPath ) : boolean ; /** See https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options */ realpathSync ( path ) : string ; /** Gets the current directory of the environment. */ getCurrentDirectory ( ) : string ; /** Uses pattern matching to find files or directories. */ glob ( patterns ) : Promise < string [ ] > ; /** Synchronously uses pattern matching to find files or directories. */ globSync ( patterns ) : string [ ] ; }