Wikibase-DataModel-Serialization is designed so that all classes are package private except the two (De)Serializer factories. This contract is currently violated as repo type hints against some of these classes (fixed in https://gerrit.wikimedia.org/r/277999).
It seems we need to discuss if:
- the individual (De)Serializers should become public,
- or we should have interfaces for each individual type of (De)Serializer (see proposal https://github.com/wmde/WikibaseDataModelSerialization/pull/198),
- and the current mixed type-hinted (De)Serializer interfaces should be deprecated/ditched.