Я использую TypeLite 1.8.4 для генерации определений и перечислений TypeScript. Это хорошо работает для TypeScript 2.0 <, но в новом проекте с Aurelia и старой версией TypeScript 1.6.2 я получаю сообщение об ошибке, которого раньше не видел. </p>
Посмотрите на этот вопрос, почему мы генерируем новый enum во внешнем интерфейсе и не используем версию const из TypeLite:
TypeLite -> TypeScript Enum -> Ошибка времени выполнения: Uncaught ReferenceError: TSEnum не определен
Новая ошибка:
Невозможно преобразовать тип '' в тип '': Type '' является enum и может быть только
присваивается из того же типа перечисления или числа

Учитывая, что мы экспортируем enum как const -> TestEnum.Zero всегда должно быть числом Zero?
https://www.typescriptlang.org/docs/handbook/enums.html#const-enums
Та же ошибка между различными примерами кода ниже:
1
namespace Library {
export const enum TestEnum {
Zero = 0,
One = 1,
}
}
export enum TestEnum2 {
Zero = Library.TestEnum.Zero,
One = Library.TestEnum.One
}
2
export const enum TestEnum {
Zero = 0,
One = 1,
}
export enum TestEnum2 {
Zero = TestEnum.Zero,
One = TestEnum.One
}
3
export enum TestEnum {
Zero = 0,
One = 1,
}
export enum TestEnum2 {
Zero = TestEnum.Zero,
One = TestEnum.One
}