/**
 * 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 AssociationImplementation, type Enum, type EnumerationMapping, type EnumValueMapping, type DEPRECATED__InputData, type InstanceSetImplementation, type Mapping, type DEPRECATED__MappingTest, type DEPRECATED__MappingTestAssert, type PropertyMapping, type RawLambda, type SetImplementation, type DEPRECATED__ExpectedOutputMappingTestAssert, type OperationSetImplementation, type OperationType, type SetImplementationContainer, type JsonModelConnection, type Connection, type PackageableConnection, type PackageableRuntime, type EngineRuntime, type IdentifiedConnection, type PackageableElementReference, type Store, type RuntimePointer, type XmlModelConnection, type Class, type PureInstanceSetImplementation, type PurePropertyMapping, type DEPRECATED__ObjectInputData, type ObserverContext, type Type, SourceValue, type EnumerationMappingReference, type SourceValueType, type MappingTestSuite, type StoreTestData, type MappingTest, type EmbeddedData } from '@finos/legend-graph';
export declare const instanceSetImplementation_setPropertyMappings: (si: InstanceSetImplementation, pm: PropertyMapping[], observeContext: ObserverContext) => void;
export declare const instanceSetImplementation_deletePropertyMapping: (si: InstanceSetImplementation, pm: PropertyMapping) => void;
export declare const setImplementation_setRoot: (owner: SetImplementation, val: boolean) => void;
export declare const mapping_addClassMapping: (mapping: Mapping, val: SetImplementation, observer: ObserverContext) => void;
export declare const mapping_deleteClassMapping: (mapping: Mapping, val: SetImplementation) => void;
export declare const mapping_addEnumerationMapping: (mapping: Mapping, val: EnumerationMapping) => void;
export declare const mapping_deleteEnumerationMapping: (mapping: Mapping, val: EnumerationMapping) => void;
export declare const mapping_addAssociationMapping: (mapping: Mapping, val: AssociationImplementation, observerContext: ObserverContext) => void;
export declare const mapping_deleteAssociationMapping: (mapping: Mapping, val: AssociationImplementation) => void;
export declare const mapping_deleteTest: (mapping: Mapping, val: DEPRECATED__MappingTest) => void;
export declare const mapping_addDEPRECATEDTest: (mapping: Mapping, val: DEPRECATED__MappingTest, observerContext: ObserverContext) => void;
export declare const mapping_addTestSuite: (mapping: Mapping, val: MappingTestSuite, observerContext: ObserverContext) => void;
export declare const mapping_deleteTestSuite: (mapping: Mapping, val: MappingTestSuite) => void;
export declare const mappingTestable_setQuery: (test: MappingTestSuite, value: RawLambda) => void;
export declare const mappingTestable_deleteStoreTestData: (dataHolder: MappingTest, val: StoreTestData) => void;
export declare const mappingTestable_setEmbeddedData: (store: StoreTestData, embeddedData: EmbeddedData, observerContext: ObserverContext) => void;
export declare const mappingTestable_addStoreTestData: (dataHolder: MappingTest, val: StoreTestData) => void;
export declare const enumerationMapping_setId: (eM: EnumerationMapping, val: string) => void;
export declare const enumerationMapping_setSourceType: (eM: EnumerationMapping, value: PackageableElementReference<Type> | undefined) => void;
export declare const enumerationMapping_setEnumValueMappings: (eM: EnumerationMapping, value: EnumValueMapping[]) => void;
export declare const enumerationMapping_updateSourceType: (eM: EnumerationMapping, value: PackageableElementReference<Type> | undefined) => void;
export declare const sourceValue_setValue: (sv: SourceValue, value: Enum | string | number | undefined) => void;
export declare const enumValueMapping_addSourceValue: (enumMapping: EnumValueMapping, sourceValue: SourceValueType) => void;
export declare const enumValueMapping_setSourceValues: (enumMapping: EnumValueMapping, value: SourceValue[]) => void;
export declare const enumValueMapping_deleteSourceValue: (enumMapping: EnumValueMapping, idx: number) => void;
export declare const enumValueMapping_updateSourceValue: (enumMapping: EnumValueMapping, idx: number, val: Enum | string | undefined, sourceType: Type | undefined) => void;
export declare const mappingTest_setName: (test: DEPRECATED__MappingTest, value: string) => void;
export declare const mappingTest_setInputData: (test: DEPRECATED__MappingTest, value: DEPRECATED__InputData[], observeContext: ObserverContext) => void;
export declare const DEPRECATED_mappingTest_setQuery: (test: DEPRECATED__MappingTest, value: RawLambda) => void;
export declare const mappingTest_setAssert: (test: DEPRECATED__MappingTest, value: DEPRECATED__MappingTestAssert, observerContext: ObserverContext) => void;
export declare const expectedOutputMappingTestAssert_setExpectedOutput: (e: DEPRECATED__ExpectedOutputMappingTestAssert, val: string) => void;
export declare const operationMapping_setOperation: (oI: OperationSetImplementation, value: OperationType) => void;
export declare const operationMapping_setParameters: (oI: OperationSetImplementation, value: SetImplementationContainer[]) => void;
export declare const operationMapping_addParameter: (oI: OperationSetImplementation, value: SetImplementationContainer) => void;
export declare const operationMapping_changeParameter: (oI: OperationSetImplementation, oldValue: SetImplementationContainer, newValue: SetImplementationContainer) => void;
export declare const operationMapping_deleteParameter: (oI: OperationSetImplementation, value: SetImplementationContainer) => void;
/**
 * If this is the only mapping element for the target class, automatically mark it as root,
 * otherwise, if there is another set implementation make it non-root,
 * otherwise, leave other set implementation root status as-is.
 * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
 * which does not support `include` mappings as of now.
 */
export declare const setImpl_updateRootOnCreate: (setImp: SetImplementation) => void;
/**
 * If only one set implementation remained, it will be nominated as the new root
 * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
 * which does not support `include` mappings as of now.
 */
export declare const setImpl_updateRootOnDelete: (setImp: SetImplementation) => void;
/**
 * Make the nominated set implementation root and flip the root flag of all other
 * set implementations with the same target
 * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
 * which does not support `include` mappings as of now.
 */
export declare const setImpl_nominateRoot: (setImp: SetImplementation) => void;
export declare const objectInputData_setData: (o: DEPRECATED__ObjectInputData, val: string) => void;
export declare const pureInstanceSetImpl_setPropertyMappings: (val: PureInstanceSetImplementation, value: PurePropertyMapping[], observeContext: ObserverContext) => void;
export declare const pureInstanceSetImpl_setSrcClass: (val: PureInstanceSetImplementation, value: PackageableElementReference<Class> | undefined) => void;
export declare const pureInstanceSetImpl_setMappingFilter: (val: PureInstanceSetImplementation, value: RawLambda | undefined) => void;
export declare const purePropertyMapping_setTransformer: (val: PurePropertyMapping, value: EnumerationMappingReference | undefined) => void;
export declare const connection_setStore: (con: Connection, val: PackageableElementReference<Store>) => void;
export declare const modelConnection_setClass: (val: JsonModelConnection | XmlModelConnection, value: Class) => void;
export declare const modelConnection_setUrl: (val: JsonModelConnection | XmlModelConnection, value: string) => void;
export declare const packageableConnection_setConnectionValue: (pc: PackageableConnection, connection: Connection, observeContext: ObserverContext) => void;
export declare const packageableRuntime_setRuntimeValue: (pr: PackageableRuntime, value: EngineRuntime, observeContext: ObserverContext) => void;
export declare const runtime_addIdentifiedConnection: (eR: EngineRuntime, value: IdentifiedConnection, observerContext: ObserverContext) => void;
export declare const runtime_deleteIdentifiedConnection: (eR: EngineRuntime, value: IdentifiedConnection) => void;
export declare const runtime_addUniqueStoreConnectionsForStore: (eR: EngineRuntime, value: Store, observerContext: ObserverContext) => void;
export declare const runtime_setMappings: (eR: EngineRuntime, value: PackageableElementReference<Mapping>[]) => void;
export declare const runtime_addMapping: (eR: EngineRuntime, value: PackageableElementReference<Mapping>) => void;
export declare const runtime_deleteMapping: (eR: EngineRuntime, value: PackageableElementReference<Mapping>) => void;
export declare const setPackageableRuntime: (rP: RuntimePointer, value: PackageableRuntime, context: ObserverContext) => void;
//# sourceMappingURL=DSL_Mapping_GraphModifierHelper.d.ts.map