import { ITsconfigGenerator } from "./i-tsconfig-generator";
import { TemplateFile } from "../template-generator/template-file";
import { Generator } from "../generator";
import { ITsconfigGeneratorOptions } from "./i-tsconfig-generator-options";
import { NormalizeFunction } from "../../../normalize/normalize-function";
import { IFormatter } from "../../../formatter/i-formatter";
import { IBuildConfig } from "../../../build-config/i-build-config";
import { ITsconfig } from "../../../tsconfig/i-tsconfig";
/**
 * A class that helps with generating a tsconfig.json file
 */
export declare class TsconfigGenerator extends Generator implements ITsconfigGenerator {
    private readonly config;
    private readonly formatter;
    private readonly normalizeFunction;
    constructor(config: IBuildConfig, formatter: IFormatter, normalizeFunction: NormalizeFunction<ITsconfig>);
    /**
     * Generates tsconfig.json data based on the given options
     * @param {Partial<ITsconfig>} options
     * @returns {Promise<TemplateFile[]>}
     */
    onGenerate({ options }: ITsconfigGeneratorOptions): Promise<TemplateFile[]>;
    /**
     * Prepares an ITsconfig for stringifying
     * @param {ITsconfig} config
     * @returns {object}
     */
    private prepareConfigForStringifying;
}
