/**
 * 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 ModelSchema } from 'serializr';
import { type PlainObject } from '@finos/legend-shared';
import { V1_Enumeration } from '../../../model/packageableElements/domain/V1_Enumeration.js';
import { V1_Profile, V1_ProfileStereotype, V1_ProfileTag } from '../../../model/packageableElements/domain/V1_Profile.js';
import { V1_Measure, V1_Unit } 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_EnumValue } from '../../../model/packageableElements/domain/V1_EnumValue.js';
import { V1_Property } from '../../../model/packageableElements/domain/V1_Property.js';
import { V1_DerivedProperty } from '../../../model/packageableElements/domain/V1_DerivedProperty.js';
import { V1_PropertyPointer } from '../../../model/packageableElements/domain/V1_PropertyPointer.js';
import { V1_Constraint } from '../../../model/packageableElements/domain/V1_Constraint.js';
import { V1_INTERNAL__UnknownFunctionActivator } from '../../../model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
import { V1_SnowflakeApp } from '../../../model/packageableElements/function/V1_SnowflakeApp.js';
import { V1_SnowflakeM2MUdf } from '../../../model/packageableElements/function/V1_SnowflakeM2MUdf.js';
import { V1_MemSQLFunction } from '../../../model/packageableElements/function/V1_MemSQLFunction.js';
import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
import { V1_DefaultValue } from '../../../model/packageableElements/domain/V1_DefaultValue.js';
import { V1_HostedService } from '../../../model/packageableElements/function/V1_HostedService.js';
export declare const V1_CLASS_ELEMENT_PROTOCOL_TYPE = "class";
export declare const V1_PROFILE_ELEMENT_PROTOCOL_TYPE = "profile";
export declare const V1_ENUMERATION_ELEMENT_PROTOCOL_TYPE = "Enumeration";
export declare const V1_MEASURE_ELEMENT_PROTOCOL_TYPE = "measure";
export declare const V1_UNIT_ELEMENT_PROTOCOL_TYPE = "unit";
export declare const V1_ASSOCIATION_ELEMENT_PROTOCOL_TYPE = "association";
export declare const V1_FUNCTION_ELEMENT_PROTOCOL_TYPE = "function";
export declare const V1_SNOWFLAKE_APP_TYPE = "snowflakeApp";
export declare const V1_SNOWFLAKE_M2M_UDF_TYPE = "snowflakeM2MUdf";
export declare const V1_HOSTED_SERVICE_TYPE = "hostedService";
export declare const V1_MEM_SQL_TYPE = "memSqlFunction";
export declare const V1_propertyPointerModelSchema: ModelSchema<V1_PropertyPointer>;
export declare const V1_serializeProfileStereotypeSchema: (json: PlainObject<V1_ProfileStereotype> | string) => V1_ProfileTag;
export declare const V1_serializeProfileTagSchema: (json: PlainObject<V1_ProfileTag> | string) => V1_ProfileTag;
export declare const V1_profileModelSchema: ModelSchema<V1_Profile>;
export declare const V1_enumValueModelSchema: ModelSchema<V1_EnumValue>;
export declare const V1_enumerationModelSchema: ModelSchema<V1_Enumeration>;
export declare const V1_unitModelSchema: ModelSchema<V1_Unit>;
export declare const V1_measureModelSchema: ModelSchema<V1_Measure>;
export declare const V1_snowflakeAppModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_SnowflakeApp>;
export declare const V1_snowflakeM2MUdfModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_SnowflakeM2MUdf>;
export declare const V1_MemSQLModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_MemSQLFunction>;
export declare const V1_HostedServiceModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_HostedService>;
export declare const V1_defaultValueModelSchema: ModelSchema<V1_DefaultValue>;
export declare const V1_propertyModelSchema: ModelSchema<V1_Property>;
export declare const V1_derivedPropertyModelSchema: ModelSchema<V1_DerivedProperty>;
export declare const V1_constraintModelSchema: ModelSchema<V1_Constraint>;
export declare const V1_classModelSchema: ModelSchema<V1_Class>;
export declare const V1_associationModelSchema: ModelSchema<V1_Association>;
export declare const V1_functionModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_ConcreteFunctionDefinition>;
export declare const V1_INTERNAL__UnknownFunctionActivatorModelSchema: ModelSchema<V1_INTERNAL__UnknownFunctionActivator>;
//# sourceMappingURL=V1_DomainSerializationHelper.d.ts.map