import { Fn } from '../Fn'; import { Invoke } from '../Invoke'; import { IfInvoking, Input } from '../utils'; export interface ForAllVariants> extends Fn { out: IfInvoking>, F['out']>; } export type InvokeForAllVariants, I extends F['in']> = I extends F['in'] ? Invoke : never;