Avatar ·

Cómo tipificar correctamente una función callback en los parámetros de un método TypeScript

¡Hola a todos! Empecé a estudiar TypeScript y me encontré con un problema al tipificar callbacks. Tengo un método que acepta una función de callback, y quiero especificar estrictamente su tipo, pero no sé cómo hacerlo correctamente. Aquí hay un ejemplo. Tengo una clase `DataProcessor` que procesa datos y llama al callback después de completarse: ```typescript class DataProcessor { process(data: number[], callback: ???) { const result = data.map(x => x * 2); callback(result); } } ``` El problema es que no sé qué escribir en lugar de `???`. Si escribo `callback: any`, TypeScript deja de verificar tipos y pierdo todas las ventajas de la tipificación estática. Si escribo `callback: Function`, tampoco obtengo autocompletado ni verificación de argumentos. Quiero que el callback pueda ser cualquier función, pero que TypeScript verifique que acepta la cantidad correcta de argumentos y devuelve algo (o nada). ¿Cómo declaro correctamente el tipo para dicho callback? ¿Necesito describir el tipo de retorno?