我有一个使用JavaScript编写的外部SDK。其中一个模块Blob
是新功能,但也暴露了枚举FooEnum
(成员Bar
和Baz
)。TypeScript newable和枚举参考
JavaScript中使用该SDK代码是像这样:
const blobInstance = new Sdk.Blob();
const fooType = Sdk.Blob.FooEnum.Baz;
我现在想写,我可以为了给我一些类型的安全施放此SDK给的接口。以下是我到目前为止有:
interface BlobInterface { }
enum Foo {
Bar,
Baz
}
interface Sdk {
Blob: {
new(): BlobInterface;
FooEnum: Foo;
}
}
我的问题,但是,当我引用Blob.FooEnum
,它认为FooEnum
本身实际上是枚举Foo
的成员(即它认为它是Bar
或Baz
),因此,不让我从中得到Baz
。
我该如何告诉TypeScript Blob.FooEnum
实际上指向枚举本身并且不是枚举的成员?