type TemplateOptionTypes = "project" | "dir" | "file";
type TemplateOptions = {
    [key in TemplateOptionTypes]?: string;
};
type EvbOptionTypes = "deleteExtractedOnExit" | "compressFiles" | "shareVirtualSystem" | "mapExecutableWithTemporaryFile" | "allowRunningOfVirtualExeFiles" | "processesOfAnyPlatforms";
type EvbOptions = {
    [key in EvbOptionTypes]?: string;
};
interface GlobalCLIOptions {
    "--"?: string[];
    input?: string;
    i?: string;
    output?: string;
    o?: string;
    projectName?: string;
    p?: string;
    exclude?: string;
    e?: string;
    templatePath?: TemplateOptions;
    evbOptions?: EvbOptions;
}

type TemplateTypes = "PROJECT" | "DIR" | "FILE";
type RegExpTypes = "PRE_TAG_INDENTS" | "LT" | "GT" | "SLASH";
type VariableTypes = "DIR_NAME" | "FILES" | "FILE_NAME" | "FILE_PATH" | "INPUT_EXE" | "OUTPUT_EXE" | "OPT_DELETE_EXTRACTED" | "OPT_COMPRESS_FILES" | "OPT_SHARE_VIRTUAL_SYSTEM" | "OPT_MAP_WITH_TEMP" | "OPT_ALLOW_RUNNING_VIRTUAL_EXE" | "OPT_PROCESSES_OF_ANY_PLATFORMS";
type TemplatePath = {
    [key in TemplateTypes]: string;
};
type RegExpNames = {
    [key in RegExpTypes]: RegExp;
};
type VariableNames = {
    [key in VariableTypes]: string;
};
declare const generate: (entry: string, options: GlobalCLIOptions) => Promise<string>;

export { type RegExpNames, type RegExpTypes, type TemplatePath, type TemplateTypes, type VariableNames, type VariableTypes, generate };
