import { type Store as MemFs } from 'mem-fs';
import BaseGenerator from '../base/index.js';
import EnvironmentBuilder from '../../cli/environment-builder.mjs';
import type { ApplicationWithEntities } from '../../lib/jdl/jdl-importer.js';
type ApplicationWithEntitiesAndPath = ApplicationWithEntities & {
    folder?: string;
    sharedFs?: MemFs;
};
export default class JdlGenerator extends BaseGenerator {
    [x: string]: any;
    constructor(args: any, options: any, features: any);
    jdlFiles?: string[];
    inline?: string;
    jdlContents: string[];
    entrypointGenerator: string;
    entitiesGenerator: string;
    workspacesGenerator: string;
    interactive?: boolean;
    jsonOnly?: boolean;
    ignoreApplication?: boolean;
    ignoreDeployments?: boolean;
    skipSampleRepository?: boolean;
    force?: boolean;
    reproducible?: boolean;
    createEnvBuilder: typeof EnvironmentBuilder.createDefaultBuilder;
    existingProject?: boolean;
    applications: ApplicationWithEntitiesAndPath[];
    exportedApplicationsWithEntities: Record<string, ApplicationWithEntities>;
    exportedEntities: any[];
    exportedDeployments: any[];
    beforeQueue(): Promise<void>;
    get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "existingProject" | "loadArguments" | "checkOptions">;
    get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configure" | "downloadJdlFiles" | "readJdlFiles" | "parseJDL" | "customizeApplication" | "generateJson" | "generate">;
    get end(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "generateDeployments">;
    runNonInteractive(applications: ApplicationWithEntitiesAndPath[], options: any): Promise<void>;
    writeConfig(...applications: Partial<ApplicationWithEntitiesAndPath>[]): void;
}
export {};
