///
import { DevkitContext, Migration, ResolvedResource } from '@angular/cdk/schematics';
import * as ts from 'typescript';
export declare class IconMigration extends Migration {
readonly sbbIconModule = "SbbIconModule";
readonly sbbIconTestingModule = "SbbIconTestingModule";
readonly sbbIconComponent = "SbbIcon";
readonly sbbIconFitClass = "sbb-icon-fit";
readonly sbbIconMigrationWarning = "/* TODO(icon-migration): Check if still working as intended */";
readonly sbbIconCssReplacement: string;
printer: ts.Printer;
enabled: boolean;
private _tsIconOccurences;
private _templateIconOccurences;
private _stylesheetIconOccurences;
private _stylesheetRulesRegExp;
/** Method can be used to perform global analysis of the program. */
init(): void;
/**
* Method that will be called for each node in a given source file. Unlike tslint, this
* function will only retrieve TypeScript nodes that need to be casted manually. This
* allows us to only walk the program source files once per program and not per
* migration rule (significant performance boost).
*/
visitNode(node: ts.Node): void;
private _visitImportNode;
private _visitStringLiteralNode;
private _resolveMigrationContext;
/** Method that will be called for each Angular template in the program. */
visitTemplate(template: ResolvedResource): void;
/** Method that will be called for each stylesheet in the program. */
visitStylesheet(stylesheet: ResolvedResource): void;
/**
* Method that will be called once all nodes, templates and stylesheets
* have been visited.
*/
postAnalysis(): void;
private _isInSbbAngularIconsModule;
private _matchCssIconRules;
private _processTypeScriptFiles;
private _replaceModules;
private _replaceComponents;
private _replaceImports;
private _createImports;
private _replaceStringLiterals;
private _processTemplates;
private _resolveIconDimensions;
private _resolveSize;
private _normalizeAttributes;
private _resolveIconName;
private _processStylesheets;
private _isSpecFile;
private _createReplacementCssRule;
private _escapeRegExp;
}