This is necessary because of an issue with type-inference for downstream buildable libraries which emit .dts. Without exporting these brands, TypeScript can't know what the underlying types are. This became an issue introducing the type alias for float / int default values. Changing that to an interface also fixes the issue, but Opaque from type-fest is a type-alias and hence cannot be upstream to an interface.
This is necessary because of an issue with type-inference for downstream buildable libraries which emit .dts. Without exporting these brands, TypeScript can't know what the underlying types are. This became an issue introducing the type alias for float / int default values. Changing that to an interface also fixes the issue, but
Opaque
from type-fest is a type-alias and hence cannot be upstream to an interface.