У меня есть файл декларации в моем проекте типа TypeScript:
// myapp.d.ts
declare namespace MyApp {
interface MyThing {
prop1: string
prop2: number
}
}
Это отлично работает, и я могу использовать это пространство имен в любом месте моего проекта, не импортируя его.
Теперь мне нужно импортировать тип из стороннего модуля и использовать его в своей эмбиентной декларации:
// myapp.d.ts
import {SomeType} from 'module'
declare namespace MyApp {
interface MyThing {
prop1: string
prop2: number
prop3: SomeType
}
}
Компилятор теперь жалуется, что он не может найти пространство имен "MyApp", предположительно потому, что импорт не позволяет ему быть эмбиентом.
Есть ли простой способ сохранить эмбиентность декларации при использовании сторонних типов?