import FastGlobFileSystemAdapter, { FileFilterFunction } from '../fs/FastGlobFileSystemAdapter'; export type GlobOptions = { onlyFiles?: boolean; ignore?: string[]; onlyDirectories?: boolean; cwd?: string; escapeGitIgnore?: boolean; deep?: number; }; export default class ProjectFileSystem { basePath: string; rootPath: string; globFilteringFileSystemAdapter?: FastGlobFileSystemAdapter; filterFunction: FileFilterFunction | undefined; constructor(basePath: string, rootPath?: string); path(...paths: string[]): string; relativeToRoot(...paths: string[]): string; relativeToRootFromAbsolutePath(...paths: string[]): string; readYaml(path: string): Promise; getNewInstance(basePath: string, rootPath?: string): ProjectFileSystem; readJson(path: string): Promise; writeJSON(path: string, obj: any): Promise; renderYamlTemplate(path: string, data: object): Promise; renderTemplate(path: string, data: object): Promise; readFilesBFS({ ext }?: { ext?: string; }): Promise; isContained(path: string): boolean; makeAbsolute(path: string): string; getName(path: string, extension?: string): string; glob(pattern: string, options: GlobOptions): Promise; gitIgnoreFileFilter(): Promise; deleteGlobFilter(): void; navigate(...paths: string[]): ProjectFileSystem; stat(path: string): Promise; fileExists(path: string): Promise; directoryExists(path: string): Promise; mkdir(path?: string, options?: { recursive: boolean; }): Promise; readTextFile(path: string, absolutePath?: boolean): Promise; writeTextFile(path: string, str: string): Promise; readDirectories(): Promise; readFiles({ ext }?: { ext?: string; }): Promise; rm(path: string, options?: { recursive: boolean; }): Promise; }