Conditional types: tipos que dependem de outros tipos
Conditional types são uma feature poderosa do TypeScript que permite criar tipos que dependem de uma condição lógica avaliada em tempo de compilação. Eles funcionam como um operador ternário para tipos: se uma condição for verdadeira, o tipo resultante é um; caso contrário, é outro.