/**
 * 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 { LightQuery, Query, type QueryExecutionContext, type QueryExecutionContextInfo } from '../../../../../graph-manager/action/query/Query.js';
import { type V1_LightQuery, V1_Query, type V1_QueryExecutionContext } from './query/V1_Query.js';
import type { PureModel } from '../../../../../graph/PureModel.js';
import { DEPRECATED__ServiceTestResult } from '../../../../../graph-manager/action/service/DEPRECATED__ServiceTestResult.js';
import type { V1_DEPRECATED__ServiceTestResult } from './service/V1_DEPRECATED__ServiceTestResult.js';
import type { V1_ServiceRegistrationResult } from './service/V1_ServiceRegistrationResult.js';
import { ServiceRegistrationSuccess } from '../../../../../graph-manager/action/service/ServiceRegistrationResult.js';
import { GenerationOutput } from '../../../../../graph-manager/action/generation/GenerationOutput.js';
import type { V1_GenerationOutput } from './generation/V1_GenerationOutput.js';
import { GenerationConfigurationDescription, GenerationProperty } from '../../../../../graph-manager/action/generation/GenerationConfigurationDescription.js';
import type { V1_GenerationConfigurationDescription, V1_GenerationProperty } from './generation/V1_GenerationConfigurationDescription.js';
import type { V1_CompilationError } from './compilation/V1_CompilationError.js';
import type { V1_ParserError } from './grammar/V1_ParserError.js';
import { CompilationError, EngineError, ParserError } from '../../../../../graph-manager/action/EngineError.js';
import type { V1_SourceInformation } from '../model/V1_SourceInformation.js';
import { SourceInformation } from '../../../../../graph-manager/action/SourceInformation.js';
import { ExecutionError } from '../../../../../graph-manager/action/ExecutionError.js';
import type { V1_ExecutionError } from './execution/V1_ExecutionError.js';
import type { QuerySearchSpecification } from '../../../../../graph-manager/action/query/QuerySearchSpecification.js';
import { V1_QuerySearchSpecification } from './query/V1_QuerySearchSpecification.js';
import type { V1_ExternalFormatDescription } from './externalFormat/V1_ExternalFormatDescription.js';
import { ExternalFormatDescription } from '../../../../../graph-manager/action/externalFormat/ExternalFormatDescription.js';
import type { Service } from '../../../../../graph/metamodel/pure/packageableElements/service/Service.js';
import { FunctionAnalysisInfo } from '../../../../../graph/helpers/FunctionAnalysis.js';
import type { V1_ConcreteFunctionDefinition } from '../model/packageableElements/function/V1_ConcreteFunctionDefinition.js';
import type { V1_EngineError } from './V1_EngineError.js';
export declare const V1_buildLightQuery: (protocol: V1_LightQuery, currentUserId: string | undefined) => LightQuery;
export declare const V1_buildExecutionContext: (protocolQuery: V1_Query, graph: PureModel, metamodel: Query) => QueryExecutionContext;
export declare const V1_buildExecutionContextInfo: (protocol: V1_Query) => QueryExecutionContextInfo;
export declare const V1_buildQuery: (protocol: V1_Query, graph: PureModel, currentUserId: string | undefined) => Query;
export declare const V1_transformQueryExecutionContext: (execContext: QueryExecutionContext) => V1_QueryExecutionContext;
export declare const V1_transformQuery: (metamodel: Partial<Query>) => V1_Query;
export declare const V1_transformQuerySearchSpecification: (metamodel: QuerySearchSpecification) => V1_QuerySearchSpecification;
export declare const V1_buildLegacyServiceTestResult: (protocol: V1_DEPRECATED__ServiceTestResult) => DEPRECATED__ServiceTestResult;
export declare const V1_buildServiceRegistrationSuccess: (service: Service, protocol: V1_ServiceRegistrationResult) => ServiceRegistrationSuccess;
export declare const V1_buildGenerationProperty: (protocol: V1_GenerationProperty) => GenerationProperty;
export declare const V1_buildExternalFormatDescription: (protocol: V1_ExternalFormatDescription) => ExternalFormatDescription;
export declare const V1_buildGenerationOutput: (protocol: V1_GenerationOutput) => GenerationOutput;
export declare const V1_buildGenerationConfigurationDescription: (protocol: V1_GenerationConfigurationDescription) => GenerationConfigurationDescription;
export declare const V1_buildSourceInformation: (sourceInformation: V1_SourceInformation) => SourceInformation;
export declare const V1_buildCompilationError: (protocol: V1_CompilationError) => CompilationError;
export declare const V1_buildParserError: (protocol: V1_ParserError) => ParserError;
export declare const V1_buildEngineError: (protocol: V1_EngineError) => EngineError;
export declare const V1_buildExecutionError: (protocol: V1_ExecutionError) => ExecutionError;
export declare const V1_buildFunctionInfoAnalysis: (functionProtocols: V1_ConcreteFunctionDefinition[], graph: PureModel) => FunctionAnalysisInfo[];
//# sourceMappingURL=V1_EngineHelper.d.ts.map