Экспорт непрозрачного класса
В потоке я могу сделать следующее:
interface IC {
get value(): { x: number };
}
class C implements IC {
value = { x: 7, y: 42 };
doSmth() {
console.log(this.value.x, this.value.y);
}
}
export opaque type CC: IC = C;
Но я хочу экспортировать это как C
не CC
:
export opaque type C: IC = C;
но я получаю ошибку
13: export opaque type C: IC = C; ^ Cannot declare `C` [1] because the name is already bound. References: 5: class C implements IC { ^ [1]
Как я могу исправить это, чтобы экспортировать класс как непрозрачный тип, соответствующий интерфейсу без переименования?
Также мне нужен конструктор, чтобы я мог делать new C
,