There are many resources explaining a declaration file (d.ts) is useful for either:
- Declaring types for JS libraries used in your TS project, or
- Allowing your JS library to be consumed by other TS projects
What confuses me is that many projects like material-ui are using d.ts files to simply store types and have them consumed in their own code.
At this point I start questioning, what's the point in having types.ts
files where we have to export / import types and interfaces to consume them, when we could have types.d.ts
files and simply consume its interfaces / types without the need for exporting / importing? What are the pros and cons of using one over the other?