EmitsToProps<T>: T extends string[]
    ? {
        [K in `on${Capitalize<T[number]>}`]?: ((...args: any[]) => any)
    }
    : T extends ObjectEmitsOptions
        ? {
            [K in string & keyof T as `on${Capitalize<K>}`]?: ((...args: T[K] extends ((...args: infer P) => any)
                ? P
                : T[K] extends null
                    ? any[]
                    : never) => any)
        }
        : {}

Type Parameters