/**
 * 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 { Measure } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Measure.js';
import type { Profile } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Profile.js';
import type { StereotypeReference } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/StereotypeReference.js';
import type { TaggedValue } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/TaggedValue.js';
import type { Enumeration } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Enumeration.js';
import type { Class } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Class.js';
import type { Association } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Association.js';
import type { ConcreteFunctionDefinition } from '../../../../../../../graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
import { V1_Profile } from '../../../model/packageableElements/domain/V1_Profile.js';
import { V1_StereotypePtr } from '../../../model/packageableElements/domain/V1_StereotypePtr.js';
import { V1_TaggedValue } from '../../../model/packageableElements/domain/V1_TaggedValue.js';
import { V1_Enumeration } from '../../../model/packageableElements/domain/V1_Enumeration.js';
import { V1_Measure } from '../../../model/packageableElements/domain/V1_Measure.js';
import { V1_Class } from '../../../model/packageableElements/domain/V1_Class.js';
import { V1_Association } from '../../../model/packageableElements/domain/V1_Association.js';
import { V1_ConcreteFunctionDefinition } from '../../../model/packageableElements/function/V1_ConcreteFunctionDefinition.js';
import { V1_RawGenericType, V1_RawRawType, V1_RawRelationType } from '../../../model/rawValueSpecification/V1_RawVariable.js';
import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext.js';
import type { GenericType } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/GenericType.js';
import { V1_GenericType } from '../../../model/packageableElements/type/V1_GenericType.js';
import type { V1_Type } from '../../../model/packageableElements/type/V1_Type.js';
import { RelationType } from '../../../../../../../graph/metamodel/pure/packageableElements/relation/RelationType.js';
import type { Type } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Type.js';
import { V1_RelationType } from '../../../model/packageableElements/type/V1_RelationType.js';
export declare const V1_createGenericType: (genericType: GenericType) => V1_GenericType;
export declare function V1_transformGenericType_Type(type: Type): V1_Type;
export declare function V1_transformGenericType_RelationType(path: RelationType): V1_RelationType;
export declare function V1_createGenericTypeWithRawType(type: V1_Type): V1_GenericType;
export declare const V1_createRawGenericTypeWithElementPath: (path: string) => V1_RawGenericType;
export declare function V1_createRawGenericTypeFromPathAndTypeArguments(path: string, typeArgumentsValues: GenericType[]): V1_RawGenericType;
export declare function V1_transformRawGenericType_Type(type: Type): V1_RawRawType;
export declare function V1_transformRawGenericType_RelationType(type: RelationType): V1_RawRelationType;
export declare const V1_transformProfile: (element: Profile) => V1_Profile;
export declare const V1_transformStereotype: (element: StereotypeReference) => V1_StereotypePtr;
export declare const V1_transformTaggedValue: (element: TaggedValue) => V1_TaggedValue;
export declare const V1_transformEnumeration: (element: Enumeration) => V1_Enumeration;
export declare const V1_transformMeasure: (element: Measure, context: V1_GraphTransformerContext) => V1_Measure;
export declare const V1_transformClass: (element: Class, context: V1_GraphTransformerContext) => V1_Class;
export declare const V1_transformAssociation: (element: Association, context: V1_GraphTransformerContext) => V1_Association;
export declare const V1_transformFunction: (element: ConcreteFunctionDefinition, context: V1_GraphTransformerContext) => V1_ConcreteFunctionDefinition;
//# sourceMappingURL=V1_DomainTransformer.d.ts.map