import JDLApplicationConfigurationOption from './jdl-application-configuration-option.js';
import JDLApplicationConfiguration from './jdl-application-configuration.js';
import JDLApplicationEntities from './jdl-application-entities.js';
import JDLOptions from './jdl-options.js';
import AbstractJDLOption from './abstract-jdl-option.js';
export default class JDLApplication {
    config: JDLApplicationConfiguration;
    namespaceConfigs: Array<JDLApplicationConfiguration>;
    entityNames: JDLApplicationEntities;
    options: JDLOptions;
    constructor({ config, entityNames, namespaceConfigs }?: any);
    setConfigurationOption(option: JDLApplicationConfigurationOption<any>): void;
    hasConfigurationOption(optionName: string): boolean;
    getConfigurationOptionValue(optionName: string): any;
    forEachConfigurationOption(passedFunction: (option: JDLApplicationConfigurationOption<any>) => void): void;
    forEachNamespaceConfiguration(passedFunction: (option: JDLApplicationConfiguration) => void): void;
    addEntityName(entityName: string): void;
    addEntityNames(entityNames?: string[]): void;
    getEntityNames(): string[];
    hasEntityName(entityName: string): boolean;
    forEachEntityName(passedFunction: any): void;
    addOption(jdlOption: AbstractJDLOption | undefined): void;
    forEachOption(passedFunction: (option: AbstractJDLOption) => void): void;
    getOptionQuantity(): number;
    toString(): string;
}
