проблемы при использовании typescript в node.js (sequelize)

Для нового проекта решили попробовать TypeScript.
Технологии: node.js, express, sequelize.

Есть “стандартный” типовой файл Index.js лежащий в папке с моделями:

import fs = require(‘fs’);
import path = require(‘path’);
import Sequelize = require(‘sequelize’);
import dbConfig from ‘./…/…/configs/db’;

let sequelize = new Sequelize(dbConfig.database, dbConfig.username, dbConfig.password, dbConfig);

let db = {};

fs
.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf(’.’) !== 0) && (file !== ‘Index.js’);
})
.forEach(function(file) {
let model = sequelize.import(path.join(__dirname, file));

    //noinspection TypeScriptUnresolvedVariable
    db[model.name] = model;
});

Object.keys(db).forEach(function(modelName) {
if (‘associate’ in db[modelName]) {
db[modelName].associate(db);
}
});

//noinspection TypeScriptUnresolvedVariable
db.sequelize = sequelize;
//noinspection TypeScriptUnresolvedVariable
db.Sequelize = Sequelize;

export default db;

На некоторые участки кода TSLint ругается (временно скрыли ошибку с помощью аннотаций), но вот при build ошибки конечно же возникают:

  1. error TS2339: Property ‘name’ does not exist on type ‘Model<{}, {}>’.
  2. error TS2339: Property ‘sequelize’ does not exist on type ‘{}’.
  3. error TS2339: Property ‘Sequelize’ does not exist on type ‘{}’.

Хоть код и рабочий, ошибки нужно победить, так как при разрастании проекта хочется при build видеть реально возникающие проблемы.

На примере пары проблемных строчек:

Тайпскрипту надо сказать какой тип данных находится в переменной db.
Есть два варианта, надо выбирать по ситуации.

Первый. Определить переменную db как хэшмап (вот тут отвечают развернуто и дополнительные мнения).

let db: { [id: string]: any } = {}
db['sequelize'] = 100
db['Sequelize'] = 100500
console.log(db)

Если бы я решал для себя, я был бы более конкретным:

let db: { sequelize: SequelizeStatic, Sequelize: SequelizeStatic } = {}
db.sequelize = sequelize;
db.Sequelize = Sequelize;

и автокомплит работает норм.

dmitriy спасибо за ответ!