import { IsTuple } from './IsTuple'; export type Callback = [V] extends [never] ? () => R : IsTuple extends true ? (...args: V extends unknown[] ? V : []) => R : (arg: V) => R;