Typescript接口,函数和名称空间均具有相同的名称。哪个正在出口?

Cod*_*ein 6 module typescript definitelytyped typescript-definitions .d.ts

我正在检查的Typescript定义文件(DefinitelyTyped)中,有一个接口,一个函数和一个名称空间,它们的名称完全相同:twilio

这是示例,来自文件的前几行:

declare interface twilio {
  (sid?: string, tkn?: string, options?: twilio.ClientOptions): twilio.RestClient
}

declare function twilio(sid?: string, tkn?: string, options?: twilio.ClientOptions): twilio.RestClient;

declare namespace twilio {
 ....
Run Code Online (Sandbox Code Playgroud)

然后一直到文件底部

export = twilio;
Run Code Online (Sandbox Code Playgroud)

那么出口哪一个呢?接口?功能?命名空间?这有什么意义?您如何在相同的作用域/名称空间中为完全相同的nae命名多个事物?

JGo*_*ive -3

他们刚刚创造了一款跑步者运行的运动包 thingamagig。没关系,这不是你的代码。基本上他们出口的东西就是以上所有的东西。就像你可以在 javascript 中执行此操作一样:

function foo() {};
foo.bar = function() {};
Run Code Online (Sandbox Code Playgroud)

看看这个ts 游乐场代码