import type { ParsedCommandLine } from '@vue/language-core'; import type { MetaCheckerOptions } from '../types'; import { TypeCheckService } from './TypeCheckService'; type PatchAction = 'add' | 'update' | 'change' | 'unlink' | 'remove'; /** * Used to create checker project. * In addition to providing checker services, it can also manipulate files in the project. */ export declare class Project { private loadParsedCommandLine; private ts; private rootPath; private globalComponentName; private parsedCommandLine; private fileNames; private projectVersion; private scriptSnapshots; /** * checker service */ service: TypeCheckService; constructor(loadParsedCommandLine: () => ParsedCommandLine, ts: typeof import('typescript/lib/tsserverlibrary'), checkerOptions: MetaCheckerOptions, rootPath: string, globalComponentName: string); /** * Get type checker service {@link TypeCheckService} */ getService(): TypeCheckService; updateFile(fileName: string, text: string): void; addFile(fileName: string, text: string): void; deleteFile(fileName: string): void; /** * Manipulate files in batches */ patchFiles(files: { action: PatchAction; fileName: string; text?: string; }[]): void; private loadFileNames; reload(): void; /** * @internal */ clearCache(): void; /** * Close the project, the checker service will be unavailable, * and the file cache will be cleared. */ close(): void; } export {};