import { RunResult } from "./run";
import { CommonWIXOptions } from "./util";
/**
 * Generates WiX authoring from various input formats.
 * It is used for harvesting files, Visual Studio projects and Internet Information Server web sites,
 * "harvesting" these files into components and generating Windows Installer XML Source files (.wxs).
 *
 * Heat is good to use when you begin authoring your first Windows Installer package for a product.
 *
 * @param harvestType   The harvest type. Supported values are (dir, file, payload, perf, project, reg, website).
 * @param harvestSource The harvest to process.
 * @param [options]     Options for the compiler.
 */
export declare function heat(harvestType: HarvestType, harvestSource: string, options?: HeatOptions): Promise<RunResult>;
/** Heat Harvest Type */
export declare type HarvestType = 
/** Harvest a directory. */
"dir" | 
/** Harvest a file. */
"file" | 
/** Harvest a bundle payload as RemotePayload. */
"payload" | 
/** Harvest performance counters. */
"perf" | 
/** Harvest outputs of a VS project. */
"project" | 
/** Harvest a .reg file. */
"reg" | 
/** Harvest an IIS web site. */
"website";
/** Options for the Heat executable. */
export interface HeatOptions extends CommonWIXOptions {
    /** Autogenerate component guids at compile time. */
    autoGenerateGuid?: boolean;
    /** Component group name (cannot contain spaces e.g -cg MyComponentGroup). */
    componentGroup?: string;
    /** Configuration to set when harvesting the project. */
    configuration?: string;
    /** Overridden directory id for generated directory elements. */
    directoryId?: string;
    /** Directory reference to root directories (cannot contain spaces e.g. -dr MyAppDirRef). */
    directoryRef?: string;
    /** Generated guids are not in brackets. */
    noBrackets?: string;
    /** Specify what elements to generate (default is components). */
    generate?: "components" | "container" | "payloadgroup" | "layout" | "packagegroup";
    /** Generate guids now. */
    generateGuidsNow?: boolean;
    /** Indentation multiple (overrides default of 4). */
    indent?: number;
    /** Keep empty directories */
    keepEmptyDirs?: boolean;
    /** Specify output file (default: write to current directory). */
    out?: string;
    /** Platform to set when harvesting the project. */
    platform?: string;
    /** Specify output group of VS project. This option may be repeated for multiple output groups. */
    outputGroup?: HeatOutputGroup | HeatOutputGroup[];
    /** Overridden project name to use in variables. */
    projectName?: string;
    /** Suppress COM elements. */
    suppressCOM?: boolean;
    /** Suppress fragments. */
    suppressFragments?: boolean;
    /** Suppress harvesting the root directory as an element. */
    suppressRootDir?: boolean;
    /** Suppress registry harvesting. */
    suppressRegistry?: boolean;
    /** Suppress unique identifiers for files, components, & directories. */
    suppressUID?: boolean;
    /** Suppress VB6 COM elements. */
    suppressVB6?: boolean;
    /** Transform harvested output with XSL file. */
    transformXSL?: boolean;
    /** Use template. */
    template?: "fragment" | "module" | "product";
    /**
     * Substitute File/@Source="SourceDir" with a preprocessor or a wix variable
     * (e.g. -var var.MySource will become File/@Source="$(var.MySource)\myfile.txt" and
     * -var wix.MySource will become File/@Source="!(wix.MySource)\myfile.txt"
     */
    var?: string;
    /** Generate binder variables instead of preprocessor variables. */
    wixvar?: boolean;
}
export declare type HeatOutputGroup = "Binaries" | "Symbols" | "Documents" | "Satellites" | "Sources" | "Content";
