/**
* Creates interfaces union where all fields from all variants are present.
*/
export type InterfaceUnion = C extends undefined ? InterfaceUnion2 : D extends undefined ? InterfaceUnion3 : E extends undefined ? InterfaceUnion4 : F extends undefined ? InterfaceUnion5 : G extends undefined ? InterfaceUnion6 : H extends undefined ? InterfaceUnion7 : I extends undefined ? InterfaceUnion8 : J extends undefined ? InterfaceUnion9 : InterfaceUnion10;
type InterfaceUnion2 = (A & UndefinedDifference) | (B & UndefinedDifference);
type InterfaceUnion3 = (A & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference);
type InterfaceUnion4 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion5 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion6 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (F & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion7 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (F & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (G & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion8 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (F & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (G & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (H & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion9 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (F & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (G & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (H & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (I & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference);
type InterfaceUnion10 = (A & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (B & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (C & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (D & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (E & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference) | (F & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference & UndefinedDifference