/**
 * 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 { Class } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Class.js';
import type { Association } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Association.js';
import { type Measure, Unit } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Measure.js';
import { Property } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Property.js';
import { DerivedProperty } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/DerivedProperty.js';
import { RawVariableExpression } from '../../../../../../../../graph/metamodel/pure/rawValueSpecification/RawVariableExpression.js';
import { TaggedValue } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/TaggedValue.js';
import { Constraint } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Constraint.js';
import type { BasicModel } from '../../../../../../../../graph/BasicModel.js';
import type { AbstractProperty, PropertyOwner } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/AbstractProperty.js';
import type { V1_ValueSpecification } from '../../../../model/valueSpecification/V1_ValueSpecification.js';
import { type V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext.js';
import type { V1_Constraint } from '../../../../model/packageableElements/domain/V1_Constraint.js';
import type { V1_RawVariable } from '../../../../model/rawValueSpecification/V1_RawVariable.js';
import type { V1_Property } from '../../../../model/packageableElements/domain/V1_Property.js';
import type { V1_DerivedProperty } from '../../../../model/packageableElements/domain/V1_DerivedProperty.js';
import type { V1_Unit } from '../../../../model/packageableElements/domain/V1_Measure.js';
import type { V1_TaggedValue } from '../../../../model/packageableElements/domain/V1_TaggedValue.js';
import type { V1_FunctionTestSuite } from '../../../../model/packageableElements/function/test/V1_FunctionTestSuite.js';
import { FunctionTestSuite } from '../../../../../../../../graph/metamodel/pure/packageableElements/function/test/FunctionTestSuite.js';
export declare const V1_buildTaggedValue: (taggedValue: V1_TaggedValue, context: V1_GraphBuilderContext) => TaggedValue | undefined;
export declare const V1_buildConstraint: (constraint: V1_Constraint, _class: Class, context: V1_GraphBuilderContext) => Constraint;
export declare const V1_buildVariable: (variable: V1_RawVariable, context: V1_GraphBuilderContext) => RawVariableExpression;
export declare const V1_buildUnit: (unit: V1_Unit, parentMeasure: Measure, currentGraph: BasicModel, context: V1_GraphBuilderContext) => Unit;
export declare const V1_buildProperty: (property: V1_Property, context: V1_GraphBuilderContext, owner: PropertyOwner) => Property;
export declare const V1_buildDerivedProperty: (property: V1_DerivedProperty, context: V1_GraphBuilderContext, owner: PropertyOwner) => DerivedProperty;
export declare const V1_buildAssociationProperty: (currentProperty: V1_Property, associatedProperty: V1_Property, context: V1_GraphBuilderContext, pureAssociation: Association) => Property;
export declare const V1_getAppliedProperty: (parentClass: Class, parameters: V1_ValueSpecification[] | undefined, name: string) => AbstractProperty;
export declare const V1_buildFunctionSuite: (element: V1_FunctionTestSuite, context: V1_GraphBuilderContext) => FunctionTestSuite;
//# sourceMappingURL=V1_DomainBuilderHelper.d.ts.map