/**
 * 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 { Column } from '../metamodel/pure/packageableElements/store/relational/model/Column.js';
import { Database, type INTERNAL__LakehouseGeneratedDatabase } from '../metamodel/pure/packageableElements/store/relational/model/Database.js';
import type { Filter } from '../metamodel/pure/packageableElements/store/relational/model/Filter.js';
import type { Join } from '../metamodel/pure/packageableElements/store/relational/model/Join.js';
import { JoinType, type Relation } from '../metamodel/pure/packageableElements/store/relational/model/RelationalOperationElement.js';
import type { Schema } from '../metamodel/pure/packageableElements/store/relational/model/Schema.js';
import type { Table } from '../metamodel/pure/packageableElements/store/relational/model/Table.js';
import type { View } from '../metamodel/pure/packageableElements/store/relational/model/View.js';
import { RelationalInputType } from '../metamodel/pure/packageableElements/mapping/DEPRECATED__MappingTest.js';
import { type RelationalDataType, RelationalDatabaseConnection } from '../../STO_Relational_Exports.js';
import type { PackageableElement } from '../metamodel/pure/packageableElements/PackageableElement.js';
import { PrimitiveType } from '../metamodel/pure/packageableElements/domain/PrimitiveType.js';
export declare const getAllIncludedDatabases: (db: Database) => Set<Database>;
export declare const getAllIncludedGeneratedDatabases: (db: Database) => Set<INTERNAL__LakehouseGeneratedDatabase>;
export declare const getJoinType: (type: string) => JoinType;
export declare const getRelationalInputType: (type: string) => RelationalInputType;
export declare const getAllSchemasFromDatabase: (database: Database) => Schema[];
export declare const getAllTablesFromDatabase: (database: Database) => Table[];
export declare const getNullableSchema: (database: Database, name: string) => Schema | undefined;
export declare const getNullableFilter: (database: Database, name: string) => Filter | undefined;
export declare const getSchema: (database: Database, name: string) => Schema;
export declare const getJoin: (database: Database, name: string) => Join;
export declare const getFilter: (database: Database, name: string) => Filter;
export declare const getNullableTable: (schema: Schema, name: string) => Table | undefined;
export declare const getTable: (schema: Schema, name: string) => Table;
export declare const getView: (schema: Schema, name: string) => View;
export declare const getRelation: (schema: Schema, name: string) => Relation;
export declare function getColumn(relation: Table | View, name: string): Column;
export declare const mapRelationalDataTypeToPrimitiveType: (dataType: RelationalDataType) => PrimitiveType;
export declare const stringifyDataType: (type: RelationalDataType) => string;
export declare const guaranteeRelationalDatabaseConnection: (val: PackageableElement | undefined) => RelationalDatabaseConnection;
export declare const isRelationalDatabaseConnection: (val: PackageableElement | undefined) => boolean;
//# sourceMappingURL=STO_Relational_Helper.d.ts.map