В соответствии с вашими типами свойство dept
принимает только значения перечисления PersonDept
.
Итак, да, вы должны использовать перечисление и импортировать его на каждом использование, это желаемое поведение и то, как оно обычно используется.
Есть ли какой-нибудь способ пропустить экспорт enum
Один из способов - не использовать перечисление:
interface IPerson {
dept: 'civil' | 'private'
}
И более хакерский и не рекомендуемый способ - установить перечисление как глобальную переменную, например, прикрепить его к window
:
// Don't do it, just know it is possible
window._IPreson = PersonDept