Типы-пересечения
Тип-пересечение представляет значение, которое обладает всеми свойствами двух или более типов. Типы-пересечения обозначаются символом & между типами.
type X = { a: string;};
type Y = { b: string;};
type J = X & Y; // Intersection
const j: J = { a: 'a', b: 'b',};