TypeScript: como usar corretamente setTimeout (window vs Node.js)?
Olá a todos! Comecei a aprender TypeScript recentemente e me deparei com um problema confuso ao usar `setTimeout`. Estou escrevendo um timer simples para uma aplicação web, mas o TypeScript está reclamando dos tipos.\n\nAqui está meu código:\n\n```typescript\nconst timerId = setTimeout(() => {\n console.log("Passaram-se 3 segundos");\n}, 3000);\n\nclearTimeout(timerId);\n```\n\nO TypeScript está gerando um erro: "Argument of type 'number' is not assignable to parameter of type 'Timeout'". Estou confuso. Em JavaScript, `setTimeout` sempre retornava um número (ID numérico do timer), e eu passava ele tranquilamente para `clearTimeout`. Por que isso não funciona no TypeScript?\n\nPesquisei e descobri que existem dois `setTimeout` diferentes: um para o browser (window.setTimeout) e um para Node.js (global.setTimeout). Eles retornam tipos diferentes: no browser é