type ProvidedContext<TCtor extends AnyHandlerCtor> =
InstanceType<TCtor> extends InteractionHandler<infer Repliable>
? InteractionGateContext<Repliable>
: InstanceType<TCtor> extends EventHandler<infer Names>
? EventGateContext<Names>
: Ungateable;type ProvidedContext<TCtor extends AnyHandlerCtor> =
InstanceType<TCtor> extends InteractionHandler<infer Repliable>
? InteractionGateContext<Repliable>
: InstanceType<TCtor> extends EventHandler<infer Names>
? EventGateContext<Names>
: Ungateable;TCtor
TCtor extends AnyHandlerCtorTCtor extends AnyHandlerCtor