import type { WrpcRoomEvent } from "./wrpcRoomEvent"; import type { Maybe, Shape } from "./wrpcSchema"; export type ExtractEventNames>> = Events extends Record ? keyof Events : never; export type ExtractEventInput< Events extends Maybe>, Name extends ExtractEventNames, Fallback = unknown, > = Events extends Record ? Events[Name] extends WrpcRoomEvent ? Input extends Shape ? Input : Fallback : Fallback : Fallback;