import { Model, ModelStatic, Sequelize } from "sequelize";

interface ISequelizeModel extends InstanceType<ModelStatic<Model>> {}

interface ISequelizeModels {
  [prop: string]: ISequelizeModel;
}

interface ISequelizeModel extends Model {
  associate?: (connection: Sequelize, models?: ISequelizeModels) => void;
  hooks?: (connection: Sequelize) => void;
}

export { ISequelizeModel, ISequelizeModels };
