Обязательный параметр из 2-х необязательных, как такое можно описать?
type param1 = {
    param1: string
};
type param2 = {
    param2: string
};

export type PropsType = param1 | param2;

Так?
Судя из вопроса вижу это (ответ выше конечно лучше):
export type Some = {
    p1?: string,
    p2?: string
}
function isEmpty(o: Object): boolean{
    return Object.keys(o).length === 0
}
let a: Some = {}, 
    b: Some = {p1: "Value"}
console.log(`Object <a>${ isEmpty(a) ? '' : ' not ' } empty`);
// Object <a> empty
console.log(`Object <b>${ isEmpty(b) ? '' : ' not ' } empty`);
// Object <b> not  empty
А так можете стринги к набору значений ещё привести и сделать конструкцию как в ответе Алексей Ярков