Avatar ·

Sobrescrita do tipo de propriedade de interface declarada em arquivo .d.ts TypeScript

Olá a todos! Sou novo no TypeScript e encontrei um problema ao trabalhar com bibliotecas externas. Tenho uma biblioteca (por exemplo, `express` ou `mongoose`) que, em seus arquivos de declaração de tipos (`.d.ts`), define uma interface, digamos, `Request`. Nessa interface, há uma propriedade `user` que, por padrão, tem o tipo `any` ou `Express.User | undefined`. Preciso sobrescrever essa propriedade no meu projeto para que ela tenha um tipo específico, por exemplo, `{ id: string; name: string; role: 'admin' | 'user' }`. O problema é que não posso simplesmente alterar o arquivo `.d.ts` da biblioteca — isso é uma má prática e, ao atualizar a biblioteca, minhas alterações serão perdidas. Tentei criar minha própria interface que estende a original, mas o TypeScript reclama de conflito de tipos ou não reconhece minha sobrescrita. Aqui está um exemplo de código: ```typescript // Em node_modules/@types/express/index.d.ts (condicionalmente) interface Request { user?: any; // ... outras propriedades } // Meu arquivo types/express.d.ts import {