/**
 * 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 { V1_AccessPointGroup, V1_DataProduct, V1_DataProductDiagram, V1_DataProductEmbeddedImageIcon, V1_DataProductLibraryIcon, V1_DataProductRuntimeInfo, V1_ElementScope, V1_Email, V1_LakehouseAccessPoint, V1_ModelAccessPointGroup, V1_SupportInfo, type V1_DataProductType, V1_InternalDataProductType, V1_ExternalDataProductType, V1_Expertise, V1_FunctionAccessPoint, V1_DataProductOperationalMetadata, V1_NativeModelAccess, type V1_SampleQuery, V1_PackageableElementSampleQuery, V1_InLineSampleQuery, V1_NativeModelExecutionContext } from '../../../model/packageableElements/dataProduct/V1_DataProduct.js';
import { type PlainObject } from '@finos/legend-shared';
import { V1_MappingIncludeDataProduct } from '../../../model/packageableElements/dataProduct/V1_MappingIncludeDataProduct.js';
import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
export declare enum V1_AccessPointType {
    LAKEHOUSE = "lakehouseAccessPoint",
    FUNCTION = "functionAccessPoint",
    EQUAL_TO_JSON = "equalToJson",
    EQUAL_TO_TDS = "equalToTDS"
}
export declare enum V1_AccessPointGrouptype {
    DEFAULT_ACCESS_POINT_GROUP = "defaultAccessPointGroup",
    MODEL_ACCESS_POINT_GROUP = "modelAccessPointGroup"
}
export declare enum V1_SampleQueryType {
    IN_LINE_SAMPLE_QUERY = "inLineSampleQuery",
    PACKAGEABLE_ELEMENT_SAMPLE_QUERY = "packageableElementSampleQuery"
}
export declare enum V1_DataProductIconType {
    LIBRARY_ICON = "libraryIcon",
    EMBEDDED_IMAGE_ICON = "embeddedImageIcon"
}
export declare enum V1_DataProductIconLibraryId {
    REACT_ICONS = "react-icons"
}
export declare const V1_lakehouseAccessPointModelSchema: ModelSchema<V1_LakehouseAccessPoint>;
export declare const V1_functionAccessPointModelSchema: ModelSchema<V1_FunctionAccessPoint>;
export declare const V1_DataProductRuntimeInfoModelSchema: ModelSchema<V1_DataProductRuntimeInfo>;
export declare const V1_dataProductDiagramModelSchema: ModelSchema<V1_DataProductDiagram>;
export declare const V1_ElementScopeModelSchema: ModelSchema<V1_ElementScope>;
export declare const V1_ModelAccessPointGroupModelSchema: ModelSchema<V1_ModelAccessPointGroup>;
export declare const V1_PackageableElementSampleQueryModelSchema: ModelSchema<V1_PackageableElementSampleQuery>;
export declare const V1_InLineSampleQueryModelSchema: ModelSchema<V1_InLineSampleQuery>;
export declare const V1_deserializeSampleQuery: (json: PlainObject<V1_SampleQuery>) => V1_SampleQuery;
export declare const V1_NativeModelExecutionContextSchema: ModelSchema<V1_NativeModelExecutionContext>;
export declare const V1_NativeModelAccessModelSchema: ModelSchema<V1_NativeModelAccess>;
export declare const V1_DefaultAccessPointGroupModelSchema: ModelSchema<V1_AccessPointGroup>;
export declare const V1_DataProductLibraryIconModelSchema: ModelSchema<V1_DataProductLibraryIcon>;
export declare const V1_DataProductEmbeddedImageIconModelSchema: ModelSchema<V1_DataProductEmbeddedImageIcon>;
export declare const V1_EmailModelSchema: ModelSchema<V1_Email>;
export declare const V1_ExpertiseModelSchema: ModelSchema<V1_Expertise>;
export declare const V1_SupportInfoModelSchema: ModelSchema<V1_SupportInfo>;
export declare const V1_DataProductOperationalMetadataModelSchema: ModelSchema<V1_DataProductOperationalMetadata>;
export declare const V1_InternalDataProductTypeModelSchema: ModelSchema<V1_InternalDataProductType>;
export declare const V1_ExternalDataProductTypeModelSchema: ModelSchema<V1_ExternalDataProductType>;
export declare const V1_deserializeDataProductType: (json: Record<string, unknown>) => V1_DataProductType;
export declare const V1_serializeDataProductType: (value: V1_DataProductType) => PlainObject<V1_DataProductType>;
export declare const V1_dataProductModelSchema: (plugins: PureProtocolProcessorPlugin[]) => ModelSchema<V1_DataProduct>;
export declare const V1_MAPPING_INCLUDE_DATAPRODUCT_TYPE = "mappingIncludeDataProduct";
export declare const V1_mappingIncludeDataProductModelSchema: ModelSchema<V1_MappingIncludeDataProduct>;
//# sourceMappingURL=V1_DataProductSerializationHelper.d.ts.map