Я пытаюсь повторно экспортировать все в пространстве имен из нового модуля. Я пробовал следующее, что в определенной степени работает:
// index.ts
import * as foo from 'foo';
function myFunction() {}
// Re-export everything in 'foo' along with myFunction
const thing = {
...foo,
myFunction,
}
export = thing;
Это приводит к объявлению типа следующим образом:
import * as foo from 'foo';
declare function myFunction();
declare const thing: {
Foo: typeof foo.Foo;
Bar: typeof foo.Bar;
myFunction: typeof myFunction;
};
export = thing;
Но когда я пытаюсь использовать типы из сгенерированный d.ts
файл, я получаю сообщение об ошибке:
'Foo' refers to a value, but used as a type
Я полагаю, это потому, что Foo
и Bar
объявлены как члены объекта. Есть ли способ добиться этого реэкспорта существующих типов в новом модуле?