Если я объединяю два локально определенных пространства имен, это работает:
declare namespace ex {
function a(): void
}
declare namespace ex {
function b(): void
}
ex.a()
ex.b()
Но если одно определение исходит от модуля (node_modules/lunr/index.d.ts
), который делает export as namespace lunr;
, он жалуется error TS2440: Import declaration conflicts with local declaration of 'lunr'.
Для воспроизведения установите модуль LUNR, а затем:
import lunr from "lunr";
declare namespace lunr {
function mytest(): void;
}
lunr.mytest();
Почему разница?Как я мог преодолеть это?