On this pageExtractEvent<P, T> ExtractEvent<P, T> = { [K in P["type"]]: Extract<P, { type: K }> }[T] Type Parameters P P extends object = Payload<string, any> T T extends P["type"] = P["type"]