import { StrykerInquirer } from './StrykerInquirer';
import NpmClient from './NpmClient';
import { Logger } from 'stryker-api/logging';
import StrykerConfigWriter from './StrykerConfigWriter';
import Preset from './presets/Preset';
export default class StrykerInitializer {
    private readonly log;
    private readonly out;
    private readonly client;
    private readonly strykerPresets;
    private readonly configWriter;
    private readonly inquirer;
    static inject: ["logger", "out", "npmClient", "strykerPresets", "configWriter", "inquirer"];
    constructor(log: Logger, out: typeof console.log, client: NpmClient, strykerPresets: Preset[], configWriter: StrykerConfigWriter, inquirer: StrykerInquirer);
    /**
     * Runs the initializer will prompt the user for questions about his setup. After that, install plugins and configure Stryker.
     * @function
     */
    initialize(): Promise<void>;
    /**
     * The typed rest client works only with the specific HTTP_PROXY and HTTPS_PROXY env settings.
     * Let's make sure they are available.
     */
    private patchProxies;
    private selectPreset;
    private initiatePreset;
    private initiateCustom;
    private selectTestRunner;
    private selectReporters;
    private selectTestFramework;
    private selectMutator;
    private selectTranspilers;
    private selectPackageManager;
    private getSelectedNpmDependencies;
    /**
     * Install the npm packages
     * @function
     */
    private installNpmDependencies;
    private fetchAdditionalConfig;
}
//# sourceMappingURL=StrykerInitializer.d.ts.map