Como definir uma função que não pode retornar nada no TypeScript

Estou escrevendo uma API que possui 2 funções muito semelhantes:

function update(f: () => string) {...}
function updateDeep(f: () => void) {...}

Como você pode ver, estou tentando garantir que o cliente da minha API passe o tipo de função correto, dependendo da função que eles chamam.

A primeira função,update, funciona como previsto. Isso gerará corretamente um erro de compilação:

update(() => console.log('hey'));

A segunda função,updateDeep, não lança um evento de erro de compilação, embora deva:

updateDeep(() => 'hey');

Como declarar um tipo de função que não retorna nada?

questionAnswers(1)

yourAnswerToTheQuestion