/**
 * 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 V1_Multiplicity, type V1_PureModelContextData, type V1_DatasetSpecification, type PureProtocolProcessorPlugin, V1_MappingModelCoverageAnalysisResult } from '@finos/legend-graph';
import { type PlainObject, SerializationFactory } from '@finos/legend-shared';
import type { V1_DataSpaceSupportInfo } from '../../model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
declare class V1_DataSpaceTaggedValueInfo {
    profile: string;
    tag: string;
    value: string;
    static readonly serialization: SerializationFactory<V1_DataSpaceTaggedValueInfo>;
}
declare class V1_DataSpaceStereotypeInfo {
    profile: string;
    value: string;
    static readonly serialization: SerializationFactory<V1_DataSpaceStereotypeInfo>;
}
declare class V1_DataSpaceExecutionContextAnalysisResult {
    name: string;
    title?: string | undefined;
    description?: string | undefined;
    mapping: string;
    defaultRuntime: string;
    compatibleRuntimes: string[];
    /**
     * @deprecated
     */
    mappingModelCoverageAnalysisResult?: V1_MappingModelCoverageAnalysisResult;
    datasets: V1_DatasetSpecification[];
    runtimeMetadata?: V1_DataSpaceExecutionContextRuntimeMetadata;
}
declare class V1_DataSpaceExecutionContextRuntimeMetadata {
    storePath?: string;
    connectionPath?: string;
    connectionType?: string;
    static readonly serialization: SerializationFactory<V1_DataSpaceExecutionContextRuntimeMetadata>;
}
export declare class V1_DataSpaceBasicDocumentationEntry {
    name: string;
    docs: string[];
    static readonly serialization: SerializationFactory<V1_DataSpaceBasicDocumentationEntry>;
}
export declare class V1_DataSpacePropertyDocumentationEntry extends V1_DataSpaceBasicDocumentationEntry {
    milestoning?: string | undefined;
    /**
     * Make this optional for backward compatibility
     *
     * @backwardCompatibility
     */
    type?: string | undefined;
    /**
     * Make this optional for backward compatibility
     *
     * @backwardCompatibility
     */
    multiplicity?: V1_Multiplicity | undefined;
    static readonly serialization: SerializationFactory<V1_DataSpacePropertyDocumentationEntry>;
}
export declare class V1_DataSpaceModelDocumentationEntry extends V1_DataSpaceBasicDocumentationEntry {
    path: string;
    static readonly serialization: SerializationFactory<V1_DataSpaceModelDocumentationEntry>;
}
export declare class V1_DataSpaceClassDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
    properties: V1_DataSpacePropertyDocumentationEntry[];
    milestoning?: string | undefined;
    static readonly serialization: SerializationFactory<V1_DataSpaceClassDocumentationEntry>;
}
export declare class V1_DataSpaceEnumerationDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
    enumValues: V1_DataSpaceBasicDocumentationEntry[];
    static readonly serialization: SerializationFactory<V1_DataSpaceEnumerationDocumentationEntry>;
}
export declare class V1_DataSpaceAssociationDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
    properties: V1_DataSpacePropertyDocumentationEntry[];
    static readonly serialization: SerializationFactory<V1_DataSpaceAssociationDocumentationEntry>;
}
export declare class V1_DataSpaceDiagramAnalysisResult {
    title: string;
    description?: string | undefined;
    diagram: string;
    static readonly serialization: SerializationFactory<V1_DataSpaceDiagramAnalysisResult>;
}
export declare abstract class V1_DataSpaceExecutableInfo {
    id?: string;
    executionContextKey?: string;
    query: string;
}
export declare class V1_DataSpaceTemplateExecutableInfo extends V1_DataSpaceExecutableInfo {
}
export declare class V1_DataSpaceFunctionPointerExecutableInfo extends V1_DataSpaceExecutableInfo {
    function: string;
}
export declare class V1_DataSpaceServiceExecutableInfo extends V1_DataSpaceExecutableInfo {
    pattern: string;
    mapping?: string | undefined;
    runtime?: string | undefined;
    datasets: V1_DatasetSpecification[];
}
export declare class V1_DataSpaceMultiExecutionServiceKeyedExecutableInfo {
    key: string;
    mapping?: string | undefined;
    runtime?: string | undefined;
    datasets: V1_DatasetSpecification[];
}
export declare class V1_DataSpaceMultiExecutionServiceExecutableInfo extends V1_DataSpaceExecutableInfo {
    pattern: string;
    keyedExecutableInfos: V1_DataSpaceMultiExecutionServiceKeyedExecutableInfo[];
}
export declare abstract class V1_DataSpaceExecutableResult {
}
export declare class V1_DataSpaceExecutableTDSResultColumn {
    name: string;
    documentation?: string | undefined;
    type?: string | undefined;
    relationalType?: string | undefined;
    static readonly serialization: SerializationFactory<V1_DataSpaceExecutableTDSResultColumn>;
}
export declare class V1_DataSpaceExecutableTDSResult extends V1_DataSpaceExecutableResult {
    columns: V1_DataSpaceExecutableTDSResultColumn[];
    static readonly serialization: SerializationFactory<V1_DataSpaceExecutableTDSResult>;
}
export declare class V1_DataSpaceExecutableAnalysisResult {
    title: string;
    description?: string | undefined;
    executable?: string;
    info?: V1_DataSpaceExecutableInfo | undefined;
    result: V1_DataSpaceExecutableResult;
}
export declare class V1_DataSpaceAnalysisResult {
    name: string;
    package: string;
    path: string;
    taggedValues: V1_DataSpaceTaggedValueInfo[];
    stereotypes: V1_DataSpaceStereotypeInfo[];
    title?: string | undefined;
    description?: string | undefined;
    supportInfo?: V1_DataSpaceSupportInfo | undefined;
    model: V1_PureModelContextData;
    executionContexts: V1_DataSpaceExecutionContextAnalysisResult[];
    defaultExecutionContext: string;
    elements: string[];
    elementDocs: V1_DataSpaceModelDocumentationEntry[];
    executables: V1_DataSpaceExecutableAnalysisResult[];
    diagrams: V1_DataSpaceDiagramAnalysisResult[];
    mappingToMappingCoverageResult?: Map<string, V1_MappingModelCoverageAnalysisResult>;
}
export declare const V1_deserializeDataSpaceAnalysisResult: (json: PlainObject<V1_DataSpaceAnalysisResult>, plugins: PureProtocolProcessorPlugin[]) => V1_DataSpaceAnalysisResult;
export {};
//# sourceMappingURL=V1_DataSpaceAnalysis.d.ts.map