Primeiramente, parabéns pelo post, ótimo objeto de discussão.
Discordo um pouco sobre uso apenas em construção de libs, uma das vantagens da interface, na verdade real uso, é a possibilidade de estabelecer um contrato de implementação para uma classe, logo, conseguimos fazer ports para classes importantes para uma aplicação, como repository e services.
É uma visão volta mais ao POO e aos princípios SOLID, como to estudando isso ainda não consigo falar sobre com mais propriedade, mas vale a pesquisa.
1
0
E porque isso não pode ser feito com type?
1
Putz kkkkkk
Não contava com isso ser possível no typescript, esperava que não fosse, mas, como é possível, meio que type x interface é tudo farinha do mesmo saco. A única vantagem que posso ver ao uso de interfaces seria a possibilidade de herança, mas acredito que o type consiga contornar de alguma forma. Existe tbm a possibilidade de existir alguma vantagem na "compilação" no quesito performance pro uso que descrevi no último comentário.
Valeu ai por essa informação 👍🏽