Как определить тип объекта Object в typescript

У меня есть объект для хранения кэшированных данных, которые должны выглядеть так:

private data = {
   'some_thing': new DataModel(),
   'another_name': new DataModel()
}

Я пытаюсь присвоить ему пустой объект в конструкторе:

this.data = {}; // produces build error

В принципе, мне нужно определить тип поля данных, чтобы сказать, что он будет иметь ключи со случайными именами и значениями типа DataModel. Я пытался это сделать:

private data: Object<DataModel>

Но это неверно. Как я могу указать правильный тип?

Ответ 1

Это должно быть:

private data: { [name: string]: DataModel };

И тогда это должно работать:

this.data = {};