/**
 * Represents the type of upgrade that needs to be performed.
 */
export declare enum UpgradeType {
    WithBaseConfig = "WithBaseConfig",
    WithoutBaseConfig = "WithoutBaseConfig",
    NoOperation = "NoOperation"
}
/**
 * Represents the messages that are displayed during the upgrade process.
 */
export declare enum EslintUpgraderMessages {
    StartingUpgrade = "Starting upgrade eslinting process...",
    CheckingFilePaths = "Checking file paths...",
    UpdateTypeWithBaseConfig = "UpdateType: WithBaseConfig",
    UpdateTypeWithoutBaseConfig = "UpdateType: WithoutBaseConfig",
    UpdateTypeWithoutBoth = "UpdateType: NoOperation",
    ExitWithoutBaseConfig = "Exiting upgrade eslinting process...",
    RCANoTsConfigFile = "Please manually create a tsconfig.json file in the root of your project.",
    GettingTsConfigFile = "Getting tsconfig.json file...",
    UpdateTsConfigContent = "Updating tsconfig.json content...",
    RevertTsConfigContent = "Reverting tsconfig.json content...",
    RenameTsBaseConfig = "Renaming tsconfig.base.json to tsconfig.base.json_backup...",
    RevertTsBaseConfig = "Renaming tsconfig.base.json_backup to tsconfig.base.json...",
    UpdateEslintConfig = "Updating .eslintrc.json content...",
    UpdatePolyfills = "Updating polyfills.ts content...",
    UpdateKarmaFile = "Updating karma.conf.js content...",
    FinalizeInfoLintFix = "There are eslint violations that needs fix... After fixing the violations, please run the following commands:\n\n        npx eslint . --fix \n\n        gulp lintApp \n\n        gulp build \n\n    ",
    Completed = "Upgrade completed!"
}
/**
 * This is the main class of the EslintUpgrader tool.
 * It is responsible for upgrading the Tslint to Eslint.
 */
export declare class EslintUpgrader {
    private tsconfigBaseFilePath;
    private tsconfigFilePath;
    private angularFilePath;
    private debug;
    private libUpgrade;
    private readonly tsconfigBaseFileName;
    private readonly tsconfigFileName;
    private readonly tsconfigBaseFileNameBackUp;
    private readonly angularFileName;
    private readonly eslintConfigFileName;
    private readonly eslintConfigFileContent;
    private readonly polifillsFilePath;
    private readonly karmaConfigFilePath;
    private readonly eslintDisable;
    private readonly targetGulpLintFilePath;
    private readonly targetGulpLintIndexFilePath;
    private readonly targetGulpLintUiTestAutomationFilePath;
    /**
     * The main upgrade process
     * @param debug - Indicates if the debug mode is enabled.
     * @returns Promise<void> - Returns a promise that resolves when the upgrade process is completed.
     */
    upgrade(debug?: boolean): Promise<void>;
    constructor();
    private updateBasicPaths;
    private checkLibUpgrade;
    private checkFileExists;
    private updateTsConfigContent;
    private updateFile;
    private renameTsBaseConfig;
    private addEslintSchematics;
    private esLintSchematicsRunModuleApp;
    private esLintSchematicsRunModuleLib;
    /**
     * It updates to the eslintrc.json file on the root of the project.
     */
    replaceEslintConfig(): Promise<void>;
    private uninstallDependencies;
    private installDependencies;
    private fixEslintErrors;
    private replaceGulpLintFile;
    private gulpBuild;
    private cleanUpPolyfills;
    private cleanUpKarmaConfigFile;
    private runCommand;
    private logger;
    private sleep;
}
