import ts from "typescript"; import { ValFS } from "./ValFS.js"; import { Buffer } from "buffer"; /** * An implementation of methods in the various ts.*Host interfaces * that uses ValFS to resolve modules and read/write files. */ export interface IValFSHost extends ts.ParseConfigHost, ts.ModuleResolutionHost { useCaseSensitiveFileNames: boolean; readDirectory(rootDir: string, extensions: readonly string[] | undefined, excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined): readonly string[]; writeFile(fileName: string, data: string | Buffer, encoding: "binary" | "utf8"): void; rmFile(fileName: string): void; readBuffer(fileName: string): Buffer | undefined; } export declare class ValFSHost implements IValFSHost { protected readonly valFS: ValFS; protected readonly currentDirectory: string; constructor(valFS: ValFS, currentDirectory: string); useCaseSensitiveFileNames: boolean; readDirectory(rootDir: string, extensions: readonly string[] | undefined, excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined): readonly string[]; rmFile(fileName: string): void; writeFile(fileName: string, text: string | Buffer, encoding: "binary" | "utf8"): void; getCurrentDirectory(): string; getCanonicalFileName(fileName: string): string; fileExists(fileName: string): boolean; readFile(fileName: string): string | undefined; readBuffer(fileName: string): Buffer | undefined; realpath(path: string): string; }