Typescript relationships

Hello, thanks for your help @vince It does work with associate inside model, as follow:

import { DataTypes, Sequelize } from 'sequelize';
import BaseModel from './base-model';
import { User } from './user';

export class Company extends BaseModel {

  public name!: string;
  public users!: User[];

  static associate = models => {

    Company.hasMany(models.user, {
      foreignKey: {
        name : 'companyIdKey',
        field: 'company_id',
      },
      as: 'users',
    });

  };

}

export default (sequelize: Sequelize): typeof Company => {

  Company.init(
    {

      // uuid      : { type: DataTypes.UUID, },
      name      : { type: DataTypes.STRING, },
      created_at: {
        type        : 'TIMESTAMP',
        defaultValue: 'now()',
      },
      updated_at: { type: DataTypes.DATE, },
    }, {
      tableName  : 'company',
      modelName  : 'company',
      underscored: true,
      sequelize
    }
  );

  return Company;

};

ps: BaseModel is a simple model like this

/* eslint-disable camelcase */
import { Model } from 'sequelize';

export default class BaseModel extends Model {

  public id!: number;
  public readonly created_at: Date;
  public readonly updated_at: Date;

}

(ps: i deleted a comment about something not working i just had a pending migration haha )