/**
 * 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 Hashable } from '@finos/legend-shared';
import type { RawLambda } from '../../rawValueSpecification/RawLambda.js';
import type { PackageableElementReference } from '../PackageableElementReference.js';
import type { Class } from '../domain/Class.js';
import type { FlatData } from '../store/flatData/model/FlatData.js';
import type { Database } from '../store/relational/model/Database.js';
/**
 * TODO: Remove once migration from `MappingTest_Legacy` to `MappingTest` is complete
 * @deprecated
 */
export declare class DEPRECATED__MappingTest implements Hashable {
    readonly _UUID: string;
    name: string;
    /**
     * Studio does not process value specification, they are left in raw JSON form
     *
     * @discrepancy model
     */
    query: RawLambda;
    inputData: DEPRECATED__InputData[];
    assert: DEPRECATED__MappingTestAssert;
    constructor(name: string, query: RawLambda, inputData: DEPRECATED__InputData[], assert: DEPRECATED__MappingTestAssert);
    get hashCode(): string;
}
export declare abstract class DEPRECATED__MappingTestAssert implements Hashable {
    abstract get hashCode(): string;
}
export declare class DEPRECATED__ExpectedOutputMappingTestAssert extends DEPRECATED__MappingTestAssert implements Hashable {
    expectedOutput: string;
    constructor(expectedOutput: string);
    get hashCode(): string;
}
export declare abstract class DEPRECATED__InputData implements Hashable {
    abstract get hashCode(): string;
}
export declare enum ObjectInputType {
    JSON = "JSON",
    XML = "XML"
}
export declare class DEPRECATED__ObjectInputData extends DEPRECATED__InputData implements Hashable {
    sourceClass: PackageableElementReference<Class>;
    inputType: ObjectInputType;
    data: string;
    constructor(sourceClass: PackageableElementReference<Class>, inputType: ObjectInputType, data: string);
    get hashCode(): string;
}
export declare class DEPRECATED__FlatDataInputData extends DEPRECATED__InputData implements Hashable {
    sourceFlatData: PackageableElementReference<FlatData>;
    data: string;
    constructor(sourceFlatData: PackageableElementReference<FlatData>, data: string);
    get hashCode(): string;
}
export declare enum RelationalInputType {
    SQL = "SQL",
    CSV = "CSV"
}
export declare class DEPRECATED__RelationalInputData extends DEPRECATED__InputData implements Hashable {
    database: PackageableElementReference<Database>;
    data: string;
    inputType: RelationalInputType;
    constructor(database: PackageableElementReference<Database>, data: string, inputType: RelationalInputType);
    get hashCode(): string;
}
//# sourceMappingURL=DEPRECATED__MappingTest.d.ts.map