/**
 * @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.io/license
 */
export * from './upgrade-data';
export * from './data/index';
export * from './html-parsing/angular';
export * from './html-parsing/elements';
export * from './upgrade-rules/index';
export * from './typescript/base-types';
export * from './typescript/imports';
export * from './typescript/literal';
export * from './typescript/module-specifiers';
