import { StrykerOptions } from 'stryker-api/core';
import PromptOption from './PromptOption';
import PresetConfiguration from './presets/PresetConfiguration';
import { Logger } from 'stryker-api/logging';
export default class StrykerConfigWriter {
    private readonly log;
    private readonly out;
    static inject: ["logger", "out"];
    constructor(log: Logger, out: typeof console.log);
    guardForExistingConfig(): void;
    /**
     * Create stryker.conf.js based on the chosen framework and test runner
     * @function
     */
    write(selectedTestRunner: null | PromptOption, selectedTestFramework: null | PromptOption, selectedMutator: null | PromptOption, selectedTranspilers: null | PromptOption[], selectedReporters: PromptOption[], selectedPackageManager: PromptOption, additionalPiecesOfConfig: Partial<StrykerOptions>[]): Promise<void>;
    /**
     * Create stryker.conf.js based on the chosen preset
     * @function
     */
    writePreset(presetConfig: PresetConfiguration): Promise<void>;
    private configureTestFramework;
    private writeStrykerConfigRaw;
    private writeStrykerConfig;
    private wrapInModule;
}
//# sourceMappingURL=StrykerConfigWriter.d.ts.map