Base common type for all versioned Provider abstract classes.
Note this class should not be inherited from directly, it is intended to be used for type checking. When implementing a provider you should use the versioned abstract classes as the parent class and not this class directly.
Initialize self. See help(type(self)) for accurate signature.