import JDLEnums from './jdl-enums.js';
import JDLRelationships from './jdl-relationships.js';
import JDLOptions from './jdl-options.js';
import JDLEntity from './jdl-entity.js';
import JDLRelationship from './jdl-relationship.js';
import JDLAigcs from './jdl-aigcs.js';
import JDLAigc from './jdl-aigc.js';
import AbstractJDLOption from './abstract-jdl-option.js';
import JDLEnum from './jdl-enum.js';
import JDLDeployment from './jdl-deployment.js';
import JDLApplication from './jdl-application.js';
export default class JDLObject {
    applications: Record<string, JDLApplication>;
    deployments: Record<string, JDLDeployment>;
    entities: Record<string, JDLEntity>;
    enums: JDLEnums;
    relationships: JDLRelationships;
    options: JDLOptions;
    aigcs: JDLAigcs;
    constructor();
    getOptions(): AbstractJDLOption[];
    addApplication(application: JDLApplication): void;
    getApplicationQuantity(): number;
    getApplication(applicationName: string): JDLApplication | undefined;
    getApplications(): JDLApplication[];
    forEachApplication(passedFunction: (app: JDLApplication) => void | undefined | null): void;
    addDeployment(deployment: JDLDeployment): void;
    getDeploymentQuantity(): number;
    forEachDeployment(passedFunction: (deployment: JDLDeployment, index: number, array: string[]) => void): void;
    addEntity(entity: JDLEntity): void;
    getEntity(entityName: string): JDLEntity;
    getEntities(): JDLEntity[];
    getEntityQuantity(): number;
    getEntityNames(): string[];
    forEachEntity(passedFunction: (entity: JDLEntity, index: number, entityNames: string[]) => void): void;
    addEnum(enumToAdd: JDLEnum): void;
    hasEnum(enumName: string): boolean;
    getEnum(enumName: string): JDLEnum | undefined;
    getEnumQuantity(): number;
    forEachEnum(passedFunction: (jdlEnum: JDLEnum) => void): void;
    addRelationship(relationship: JDLRelationship): void;
    addAigc(aigc: any): void;
    getRelationshipQuantity(applicationName?: string): number;
    getAigcQuantity(applicationName?: string): number;
    forEachRelationship(passedFunction: (relationship: JDLRelationship) => void): void;
    forEachAigc(passedFunction?: (aigc: JDLAigc) => void): void;
    getRelationships(): JDLRelationship[];
    getAigcs(): JDLAigc[];
    addOption(option: AbstractJDLOption): void;
    getOptionsForName(optionName: string): any[];
    forEachOption(passedFunction: (option: any) => void): void;
    hasOption(optionName: string): boolean;
    isEntityInMicroservice(entityName: string): boolean;
    getOptionQuantity(): number;
    toString(): string;
}
