maybe you need
type EventMapOf<T extends EventTarget, U = keyof T> = ( U extends `on${infer K}` ? (e: { [P in K]: Parameters<T[U]>[0] }) => void : never ) extends (e: infer R) => void ? R : never;