type KindsOf<TCtor extends AnyMiddlewareCtor> =
InstanceType<TCtor> extends {
[MiddlewareKindsBrand]?: infer Kind extends MiddlewareKind;
}
? Kind
: never;TCtor
TCtor extends AnyMiddlewareCtortype KindsOf<TCtor extends AnyMiddlewareCtor> =
InstanceType<TCtor> extends {
[MiddlewareKindsBrand]?: infer Kind extends MiddlewareKind;
}
? Kind
: never;TCtor extends AnyMiddlewareCtor