import DFWModule from "./DFWModule"; import { DFWScheme } from "../.."; import { Sequelize, SequelizeOptions, Repository } from "sequelize-typescript"; import DFWInstance from "../system/DFWInstance"; import { Dialect, Model } from "sequelize/types"; import { NonAbstract } from "sequelize-typescript/dist/shared/types"; import EntityHandler from "../system/EntityHandler"; export default class DatabaseManager extends DFWModule { private databases; constructor(instance: DFWInstance); touchAsync(dfw: DFWScheme): Promise; getDatabase(name?: string): Database; setDatabase(key: string, db: Database): void; static createDatabaseAsync(dbuser: string, dbpassword: string, dbname: string, dialect?: Dialect, host?: string): Promise; } export declare class Database { entityHandler: EntityHandler; sequelize: Sequelize; constructor(config: SequelizeOptions); getRepository(modelClass: (new () => M)): Repository; retriveModel(model: (new () => M)): (new () => M) & NonAbstract; }