import { Sequelize, SequelizeOptions } from 'sequelize-typescript'; import { DatabaseConfig } from '@5minds/processcube_engine_sdk'; /** * Returns a Sequelize connection and loads all models into it. * * @returns A ready-to-use Sequelize instance. */ export default function setupSequelize(): Promise; /** * Returns a Sequelize connection for the given configuration, without loading any models. * * @async * @param config The config to use. * @param config.host The name of the host where the database is located. * @param config.port The port by which to connect to the host. * @param config.dialect The type of database to which to connect (postgres, sqlite, mysql, etc). * @param config.database The name of the database to connect to. * @param config.username The username with which to connect to the database. * @param config.password The password with which to connect to the database. * * @returns A ready-to-use Sequelize instance. */ export declare function getSequelizeInstanceWithoutModels(config: DatabaseConfig | SequelizeOptions): Promise; /** * Destroys the currently active sequelize instance. * @async */ export declare function destroySequelizeInstance(): Promise; /** * Returns a boolean whether the given database exists or not. * * @async * @param config The config to use. * @param config.host The name of the host where the database is located. * @param config.port The port by which to connect to the host. * @param config.dialect The type of database to which to connect (postgres, sqlite, mysql, etc). * @param config.database The name of the database to connect to. * @param config.username The username with which to connect to the database. * @param config.password The password with which to connect to the database. * * @return A boolean indicating whether the database exists or not. */ export declare function databaseExists(config: DatabaseConfig): Promise; export declare function executeWithRetry(queryFunction: any, infoText: string, _retryCounter?: undefined, _currentRetryDuration?: undefined, dbRequestId?: string, maxTimeoutInMs?: number): Promise;