type KindName<Ctx> = Ctx extends Ungateable
? "autocomplete"
: Ctx extends GuildPermissionsContext
? "gateway (guild permissions)"
: Ctx extends InteractionGateContext<infer Repliable>
? Repliable extends APIChatInputApplicationCommandInteraction
? "Slash"
: Repliable extends APIMessageApplicationCommandInteraction
? "MessageMenu"
: Repliable extends APIUserApplicationCommandInteraction
? "UserMenu"
: SelectData<Repliable> extends APIMessageStringSelectInteractionData
? "StringSelect"
: SelectData<Repliable> extends APIMessageUserSelectInteractionData
? "UserSelect"
: SelectData<Repliable> extends APIMessageRoleSelectInteractionData
? "RoleSelect"
: SelectData<Repliable> extends APIMessageChannelSelectInteractionData
? "ChannelSelect"
: SelectData<Repliable> extends APIMessageMentionableSelectInteractionData
? "MentionableSelect"
: Repliable extends APIMessageComponentButtonInteraction
? "Button"
: Repliable extends APIModalSubmitInteraction
? "Modal"
: "an interaction"
: "an agnostic";type KindName<Ctx> = Ctx extends Ungateable
? "autocomplete"
: Ctx extends GuildPermissionsContext
? "gateway (guild permissions)"
: Ctx extends InteractionGateContext<infer Repliable>
? Repliable extends APIChatInputApplicationCommandInteraction
? "Slash"
: Repliable extends APIMessageApplicationCommandInteraction
? "MessageMenu"
: Repliable extends APIUserApplicationCommandInteraction
? "UserMenu"
: SelectData<Repliable> extends APIMessageStringSelectInteractionData
? "StringSelect"
: SelectData<Repliable> extends APIMessageUserSelectInteractionData
? "UserSelect"
: SelectData<Repliable> extends APIMessageRoleSelectInteractionData
? "RoleSelect"
: SelectData<Repliable> extends APIMessageChannelSelectInteractionData
? "ChannelSelect"
: SelectData<Repliable> extends APIMessageMentionableSelectInteractionData
? "MentionableSelect"
: Repliable extends APIMessageComponentButtonInteraction
? "Button"
: Repliable extends APIModalSubmitInteraction
? "Modal"
: "an interaction"
: "an agnostic";Ctx
CtxCtx