названиями свойств со значениями стринг, { [propName: string]: string } работает, но я могу создать пустой объект, как сделать обязательным наличие хотя бы одного свойства указанного типа?
Встроенных типов "пустой/непустой объект" в TS нет, как уже отметили, но в таких случаях (как и с массивом из трёх и более элементов) могут подойти предикаты типов, позволяющие, например, ограничить данные нужными кастомными типами на внешних границах приложения: play.
Обсуждают сегодня