Если опустить тот факт что параметры функции сложения обязанны быть определенны как обязательные, то конкретно тип
undefined
можно заменить опционалыным модификатором
?
.
function а (a?: number, b?: number) {}
В остальном параметры
функции декларации описать невозможно. Другое дело
функциональное выражение которое можно описать с помощью типа.
Для псевдонима
type Sum = (a?: number, b?: number) => number;
Для интерфейса
interface ISum { (a?: number, b?: number): number; }
И использование
const sum: Sum = (a, b) => a + b;