import type { WrpcRoomBroadcast } from "./wrpcRoomBroadcast"; import type { Maybe, Shape } from "./wrpcSchema"; export type ExtractBroadcastNames>> = Broadcasts extends Record ? keyof Broadcasts : never; export type ExtractBroadcastInput< Broadcasts extends Maybe>, Name extends ExtractBroadcastNames, Fallback = unknown, > = Broadcasts extends Record ? Broadcasts[Name] extends WrpcRoomBroadcast ? Input extends Shape ? Input : Fallback : Fallback : Fallback;