Avatar ·

Como obter o tipo de retorno de uma função em TypeScript?

Olá a todos! Comecei a estudar TypeScript recentemente e me deparei com um problema. Tenho uma função que retorna um objeto complexo, e preciso usar o mesmo tipo em outro lugar, mas não quero duplicar a descrição da interface. Aqui está um exemplo: ```typescript function createUser(name: string, age: number) { return { id: Math.random().toString(36), name: name, age: age, createdAt: new Date(), isActive: true, permissions: ['read', 'write'] }; } // Como obtenho o tipo do que createUser retorna? // Quero fazer algo como: // type User = ReturnType; // Isso não funciona! ``` Tentei usar `typeof`, mas ele retorna o tipo da função em si, não o valor de retorno. Existe algum mecanismo embutido no TypeScript para isso? Vi em algum lugar a menção de `ReturnType`, mas não entendo como aplicá-lo corretamente. Por favor, me digam como obter o tipo do valor de retorno para usar depois.