/**
* @license
* Copyright Google Inc. 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.io/license
*/
///
import { GeneratedFile } from '@angular/compiler';
import * as ts from 'typescript';
import * as api from '../transformers/api';
/**
* An implementation of the `Program` API which behaves similarly to plain `tsc`.
*
* The only Angular specific behavior included in this `Program` is the operation of the Ivy
* switch to turn on render3 behavior.
*
* This allows `ngc` to behave like `tsc` in cases where JIT code needs to be tested.
*/
export declare class TscPassThroughProgram implements api.Program {
private options;
private host;
private tsProgram;
constructor(rootNames: ReadonlyArray, options: api.CompilerOptions, host: api.CompilerHost, oldProgram?: api.Program);
getTsProgram(): ts.Program;
getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
getTsSemanticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
getNgSemanticDiagnostics(fileName?: string | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray;
loadNgStructureAsync(): Promise;
listLazyRoutes(entryRoute?: string | undefined): api.LazyRoute[];
getLibrarySummaries(): Map;
getEmittedGeneratedFiles(): Map;
getEmittedSourceFiles(): Map;
emit(opts?: {
emitFlags?: api.EmitFlags;
cancellationToken?: ts.CancellationToken;
customTransformers?: api.CustomTransformers;
emitCallback?: api.TsEmitCallback;
mergeEmitResultsCallback?: api.TsMergeEmitResultsCallback;
}): ts.EmitResult;
}