/**
 * 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 Connection, type ConnectionPointer, type ConnectionVisitor, type EmbeddedData, type FlatDataConnection, type JsonModelConnection, type ModelChainConnection, type RelationalDatabaseConnection, type XmlModelConnection, type Runtime, type TestAssertion, type AtomicTest, type EmbeddedDataVisitor, type INTERNAL__UnknownConnection, type DataElementReference, type INTERNAL__UnknownEmbeddedData, type TestResult, type ValueSpecification, type RawLambda, type Type, ExternalFormatData, RelationalCSVData, ConnectionTestData, EqualToJson, ModelStoreData, RelationElementsData } from '@finos/legend-graph';
import type { EditorStore } from '../EditorStore.js';
export declare const DEFAULT_TEST_ASSERTION_ID = "assertion_1";
export declare const DEFAULT_TEST_ID = "test_1";
export declare const validateTestableId: (id: string | undefined, possibleIds: string[] | undefined) => string | undefined;
export declare const createBareExternalFormat: (contentType?: string | undefined, content?: string | undefined) => ExternalFormatData;
export declare const createDefaultEqualToJSONTestAssertion: (id?: string | undefined) => EqualToJson;
export declare const createEmbeddedDataFromClass: (_class: Type, editorStore: EditorStore) => ExternalFormatData;
export declare const createBareModelStoreData: (_class: Type, editorStore: EditorStore) => ModelStoreData;
export declare class EmbeddedDataCreatorFromEmbeddedData implements EmbeddedDataVisitor<EmbeddedData> {
    editorStore: EditorStore;
    constructor(editorStore: EditorStore);
    visit_EmbeddedData(data: EmbeddedData): EmbeddedData;
    visit_INTERNAL__UnknownEmbeddedData(data: INTERNAL__UnknownEmbeddedData): EmbeddedData;
    visit_ExternalFormatData(data: ExternalFormatData): EmbeddedData;
    visit_RelationElementsData(data: RelationElementsData): EmbeddedData;
    visit_ModelStoreData(data: ModelStoreData): EmbeddedData;
    visit_DataElementReference(data: DataElementReference): EmbeddedData;
    visit_RelationalCSVData(data: RelationalCSVData): EmbeddedData;
}
export declare class TEMPORARY__EmbeddedDataConnectionVisitor implements ConnectionVisitor<EmbeddedData> {
    editorStore: EditorStore;
    constructor(editorStore: EditorStore);
    visit_Connection(connection: Connection): EmbeddedData;
    visit_INTERNAL__UnknownConnection(connection: INTERNAL__UnknownConnection): EmbeddedData;
    visit_ConnectionPointer(connection: ConnectionPointer): EmbeddedData;
    visit_ModelChainConnection(connection: ModelChainConnection): EmbeddedData;
    visit_JsonModelConnection(connection: JsonModelConnection): EmbeddedData;
    visit_XmlModelConnection(connection: XmlModelConnection): EmbeddedData;
    visit_FlatDataConnection(connection: FlatDataConnection): EmbeddedData;
    visit_RelationalDatabaseConnection(connection: RelationalDatabaseConnection): EmbeddedData;
}
export declare class EmbeddedDataConnectionTypeVisitor implements ConnectionVisitor<string> {
    editorStore: EditorStore;
    constructor(editorStore: EditorStore);
    visit_Connection(connection: Connection): string;
    visit_INTERNAL__UnknownConnection(connection: INTERNAL__UnknownConnection): string;
    visit_ConnectionPointer(connection: ConnectionPointer): string;
    visit_ModelChainConnection(connection: ModelChainConnection): string;
    visit_JsonModelConnection(connection: JsonModelConnection): string;
    visit_XmlModelConnection(connection: XmlModelConnection): string;
    visit_FlatDataConnection(connection: FlatDataConnection): string;
    visit_RelationalDatabaseConnection(connection: RelationalDatabaseConnection): string;
}
export declare const initializeConnectionDataFromRuntime: (runtime: Runtime, editorStore: EditorStore) => ConnectionTestData[];
export declare const createEmptyEqualToJsonAssertion: (test: AtomicTest) => TestAssertion;
export declare const TEMPORARY__createRelationalDataFromCSV: (val: string) => RelationalCSVData;
export declare const isTestPassing: (testResult: TestResult) => boolean;
export interface TestParamContentType {
    contentType: string;
    param: string;
}
export declare const getContentTypeWithParamRecursively: (expression: ValueSpecification | undefined) => TestParamContentType[];
export declare const getContentTypeWithParamFromQuery: (query: RawLambda | undefined, editorStore: EditorStore) => TestParamContentType[];
//# sourceMappingURL=TestableUtils.d.ts.map