/**
 * 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 PlainObject } from '@finos/legend-shared';
import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
import { V1_MultiExecutionServiceTestResult } from '../../../model/packageableElements/service/V1_MultiExecutionServiceTestResult.js';
import { V1_AssertFail } from '../../../model/test/assertion/status/V1_AssertFail.js';
import { V1_AssertPass } from '../../../model/test/assertion/status/V1_AssertPass.js';
import { V1_EqualToJsonAssertFail } from '../../../model/test/assertion/status/V1_EqualToJsonAssertFail.js';
import { V1_EqualTo } from '../../../model/test/assertion/V1_EqualTo.js';
import { V1_EqualToJson } from '../../../model/test/assertion/V1_EqualToJson.js';
import type { V1_TestAssertion } from '../../../model/test/assertion/V1_TestAssertion.js';
import { type V1_TestResult, V1_TestError, V1_TestExecuted } from '../../../model/test/result/V1_TestResult.js';
import type { V1_AtomicTest } from '../../../model/test/V1_AtomicTest.js';
import type { V1_TestSuite } from '../../../model/test/V1_TestSuite.js';
import { V1_UniqueTestId } from '../../../model/test/V1_UniqueTestId.js';
import { type V1_TestDebug, V1_TestExecutionPlanDebug, V1_UnknownTestDebug } from '../../../engine/test/V1_DebugTestsResult.js';
export declare enum V1_TestAssertionType {
    EQUAL_TO = "equalTo",
    EQUAL_TO_JSON = "equalToJson",
    EQUAL_TO_TDS = "equalToTDS"
}
export declare enum V1_TestSuiteType {
    SERVICE_TEST_SUITE = "serviceTestSuite",
    MAPPING_TEST_SUITE = "mappingTestSuite",
    FUNCTION_TEST_SUITE = "functionTestSuite"
}
export declare const V1_uniqueTestIdModelSchema: import("serializr").ModelSchema<V1_UniqueTestId>;
export declare const V1_assertFailModelSchema: import("serializr").ModelSchema<V1_AssertFail>;
export declare const V1_assertPassModelSchema: import("serializr").ModelSchema<V1_AssertPass>;
export declare const V1_equalToJsonAssertFailModelSchema: import("serializr").ModelSchema<V1_EqualToJsonAssertFail>;
export declare const V1_equalToModelSchema: import("serializr").ModelSchema<V1_EqualTo>;
export declare const V1_equalToJsonModelSchema: import("serializr").ModelSchema<V1_EqualToJson>;
export declare const V1_testErrorModelSchema: import("serializr").ModelSchema<V1_TestError>;
export declare const V1_TestExecutionPlanDebugSchema: import("serializr").ModelSchema<V1_TestExecutionPlanDebug>;
export declare const V1_UnknownTestDebugSchema: import("serializr").ModelSchema<V1_UnknownTestDebug>;
export declare const V1_testExecutedModelSchema: import("serializr").ModelSchema<V1_TestExecuted>;
export declare const V1_MultiExecutionServiceTestResultModelSchema: import("serializr").ModelSchema<V1_MultiExecutionServiceTestResult>;
export declare function V1_deserializeTestResult(json: PlainObject<V1_TestResult>): V1_TestResult;
export declare function V1_deserializeDebugTestResult(json: PlainObject<V1_TestDebug>): V1_TestDebug;
export declare const V1_serializeAtomicTest: (protocol: V1_AtomicTest, plugins: PureProtocolProcessorPlugin[]) => PlainObject<V1_AtomicTest>;
export declare const V1_deserializeAtomicTest: (json: PlainObject<V1_AtomicTest>, plugins: PureProtocolProcessorPlugin[]) => V1_AtomicTest;
export declare const V1_serializeTestAssertion: (protocol: V1_TestAssertion) => PlainObject<V1_TestAssertion>;
export declare const V1_deserializeTestAssertion: (json: PlainObject<V1_TestAssertion>) => V1_TestAssertion;
export declare const V1_serializeTestSuite: (protocol: V1_TestSuite, plugins: PureProtocolProcessorPlugin[]) => PlainObject<V1_TestSuite>;
export declare const V1_deserializeTestSuite: (json: PlainObject<V1_TestSuite>, plugins: PureProtocolProcessorPlugin[]) => V1_TestSuite;
//# sourceMappingURL=V1_TestSerializationHelper.d.ts.map