@types versioning is strange because you never know whether or not the version of the types matches the dependency exactly. for example the case where the typed version has a minor upgrade (say due to increased type coverage), the types become out of sync.
the fix is to do away with @types and export types from the dependency itself so they are always in sync