///
/**
* @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 * as ts from 'typescript';
import { AbsoluteFsPath } from '../../../src/ngtsc/file_system';
import { NgccReflectionHost, SwitchableVariableDeclaration } from '../host/ngcc_host';
export interface SwitchMarkerAnalysis {
sourceFile: ts.SourceFile;
declarations: SwitchableVariableDeclaration[];
}
export declare type SwitchMarkerAnalyses = Map;
export declare const SwitchMarkerAnalyses: MapConstructor;
/**
* This Analyzer will analyse the files that have an R3 switch marker in them
* that will be replaced.
*/
export declare class SwitchMarkerAnalyzer {
private host;
private packagePath;
constructor(host: NgccReflectionHost, packagePath: AbsoluteFsPath);
/**
* Analyze the files in the program to identify declarations that contain R3
* switch markers.
* @param program The program to analyze.
* @return A map of source files to analysis objects. The map will contain only the
* source files that had switch markers, and the analysis will contain an array of
* the declarations in that source file that contain the marker.
*/
analyzeProgram(program: ts.Program): SwitchMarkerAnalyses;
}