Typescript如何导出从类工厂返回的类的类型

Typescript如何导出从类工厂返回的类的类型,typescript,typescript-typings,Typescript,Typescript Typings,我有一个返回类的函数。类是在函数中定义的,并且定义取决于函数的输入。我正在使用。我已经创建了一个清晰地展示了这个问题的模型 function MIXIN1<TBase extends Mixin1Dependencies>(Base: TBase){ return class MIXIN1Class extends (Base as Mixin1Dependencies){ constructor(props: any){ super(props);

我有一个返回类的函数。类是在函数中定义的,并且定义取决于函数的输入。我正在使用。我已经创建了一个清晰地展示了这个问题的模型

function MIXIN1<TBase extends Mixin1Dependencies>(Base: TBase){
  return class MIXIN1Class extends (Base as Mixin1Dependencies){
    constructor(props: any){
      super(props);
      console.log('MXIN1');  
    }
  }
}
type Mixin2Dependencies = MixinDependencies<Origin & MIXIN1Class>;
函数MIXIN1(基:TBase){
返回类MixinClass扩展(基为MixinIndependencies){
构造器(道具:任何){
超级(道具);
console.log('MXIN1');
}
}
}
类型Mixin2Dependencies=MixinDependencies;

我试图在
Mixin2Dependencies
的定义中使用
MIXIN1Class
类型定义。有没有办法公开内部的
mixinClass
?或者实现类似的行为,我尝试使用带有独立接口的
实现
,但变得非常冗余。

我认为您要寻找的是
返回类型
实用程序类型

尝试
ReturnType
,这将导致示例中的
mixinClass


请参见

ReturnType
errors:“MIXIN1”指的是一个值,但在此处用作类型。你是说“typeof MIXIN”吗?@kevzettler你试过
ReturnType
?@spender是的,我相信这是对一般问题的正确答案,但它在MIXIN中抛出了一系列其他错误implementation@spender是的,对,在原始答案中添加了
typeof
,谢谢
MIXIN1
是一个类工厂。它的返回类型取决于每次调用时作为
TBase
传递的类型参数。