Avatar ·

Tipagem estrita de funções como parâmetros em TypeScript: como declarar um tipo para callback?

Olá a todos! Recentemente comecei a estudar TypeScript e me deparei com um problema ao passar funções como argumentos. Em JavaScript, eu costumava fazer assim: ```typescript function processData(data, callback) { const result = data.map(item => item * 2); callback(result); } processData([1, 2, 3], function(result) { console.log(result); }); ``` Mas no TypeScript, preciso especificar os tipos, e não entendo como declarar corretamente o tipo para o parâmetro de função. Tentei algumas opções, mas elas não funcionam: ```typescript // Opção 1: apenas usar any function processData(data: number[], callback: any) { ... } // Opção 2: Function function processData(data: number[], callback: Function) { ... } ``` A primeira opção anula toda a essência do TypeScript — perde-se a verificação de tipos. A segunda também não oferece especificidade — posso passar qualquer função, mesmo com parâmetros incorretos. Como declarar corretamente o tipo para callback para que o TypeScript verifique: 1. Quantos parâmetros a função recebe