打字稿:导入内部名称空间

时间:2018-07-13 15:42:06

标签: typescript

我正在使用具有以下结构的JS模块,其类型为Definitely Typed

declare namespace Foo {
  interface Bar {}
}

declare module "abc" {
    function f(): Foo.Bar

    namespace f {
    }

    export = f;
}

如何从Bar导入"abc"接口?

1 个答案:

答案 0 :(得分:1)

如果未明确导出某些内容,则可能是键入的作者希望您不要使用该类型。

...话虽如此,从技术上讲,有一种方法可以实现。 TypeScript在2.9中添加了ReturnType类型和条件类型,使您可以获取函数的返回类型。在这里,您将像这样使用它:

import f from 'abc'

type Bar = ReturnType<typeof f>

Playground