Alokai

RecordOverloadedReturnType

type RecordOverloadedReturnType<T> = T extends {
  (...args: any[]): infer R;
  (...args: any[]): infer R;
  (...args: any[]): infer R;
  (...args: any[]): infer R;
} ? R : T extends {
  (...args: any[]): infer R;
  (...args: any[]): infer R;
  (...args: any[]): infer R;
} ? R : T extends {
  (...args: any[]): infer R;
  (...args: any[]): infer R;
} ? R : T extends ((...args: any[]) => infer R) ? R : any;