/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { ConcreteFunctionDefinition } from '../metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
import type { Type } from '../metamodel/pure/packageableElements/domain/Type.js';
import type { PureModel } from '../PureModel.js';
import type { FunctionAnalysisInfo } from './FunctionAnalysis.js';
import type { GenericType } from '../metamodel/pure/packageableElements/domain/GenericType.js';
export declare enum PURE_ELEMENT_NAME {
    PROFILE = "Profile",
    CLASS = "Class",
    ENUMERATION = "Enum",
    MEASURE = "Measure",
    ASSOCIATION = "Association",
    FUNCTION = "function",
    MAPPING = "Mapping",
    FLAT_DATA = "FlatData",
    DATABASE = "Database",
    SERVICE = "Service",
    RUNTIME = "Runtime",
    CONNECTION = "Connection",
    FILE_GENERATION = "FileGeneration",
    GENERATION_SPECIFICATION = "GenerationSpecification",
    DATA_ELEMENT = "Data",
    EXECUTION_ENVIRONMENT = "ExecutionEnvironment"
}
export declare enum PURE_CONNECTION_NAME {
    JSON_MODEL_CONNECTION = "JsonModelConnection",
    XML_MODEL_CONNECTION = "XmlModelConnection",
    MODEL_CHAIN_CONNECTION = "ModelChainConnection",
    RELATIONAL_DATABASE_CONNECTION = "RelationalDatabaseConnection",
    FLAT_DATA_CONNECTION = "FlatDataConnection"
}
export declare enum PURE_PARSER {
    PURE = "Pure",
    CONNECTION = "Connection",
    RUNTIME = "Runtime",
    MAPPING = "Mapping",
    SERVICE = "Service",
    FLATDATA = "FlatData",
    RELATIONAL = "Relational",
    GENERATION_SPECIFICATION = "GenerationSpecification",
    FILE_GENERATION_SPECIFICATION = "FileGeneration",
    DATA = "Data"
}
export declare const generateMultiplicityString: (lowerBound: number, upperBound: number | undefined) => string;
export declare const generateDefaultParameterValueForType: (type: Type | undefined, index: number) => string | number | boolean;
export declare const generateFunctionCallString: (element: ConcreteFunctionDefinition) => string;
export declare const generateFunctionCallStringFromFunctionAnalysisInfo: (graph: PureModel, functionInfo: FunctionAnalysisInfo) => string;
export declare const generateGenericTypeString: (type: GenericType) => string;
export declare const generateFunctionPrettyName: (element: ConcreteFunctionDefinition, options?: {
    fullPath?: boolean;
    spacing?: boolean;
    notIncludeParamName?: boolean;
}) => string;
//# sourceMappingURL=PureLanguageHelper.d.ts.map