/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ import type ng from '@angular/compiler-cli'; import type { PartialMessage } from 'esbuild'; import type ts from 'typescript'; import type { AngularHostOptions } from '../angular-host'; export interface EmitFileResult { filename: string; contents: string; dependencies?: readonly string[]; } export declare enum DiagnosticModes { None = 0, Option = 1, Syntactic = 2, Semantic = 4, All = 7 } export declare abstract class AngularCompilation { #private; static loadCompilerCli(): Promise; static loadTypescript(): Promise; protected loadConfiguration(tsconfig: string): Promise; abstract initialize(tsconfig: string, hostOptions: AngularHostOptions, compilerOptionsTransformer?: (compilerOptions: ng.CompilerOptions) => ng.CompilerOptions): Promise<{ affectedFiles: ReadonlySet; compilerOptions: ng.CompilerOptions; referencedFiles: readonly string[]; externalStylesheets?: ReadonlyMap; templateUpdates?: ReadonlyMap; }>; abstract emitAffectedFiles(): Iterable | Promise>; protected abstract collectDiagnostics(modes: DiagnosticModes): Iterable | Promise>; diagnoseFiles(modes?: DiagnosticModes): Promise<{ errors?: PartialMessage[]; warnings?: PartialMessage[]; }>; update?(files: Set): Promise; close?(): Promise; }