I have the following problem with inheritance (I would love to google it, but don't know the correct keywords it seems).
I have a Module class that implements IModule interface with function A(). I also have ClientModule class that inherits Module class and implements IClientModule interface with function B() that inherits IModule interface. This is where I am starting to get ambiguity and double inheritance problems.
Here is the class diagram that should tell a bit more about the problem:

I need to have separated access to Module class with IModule interface and ClientModule with IClientModule interface that offers access to IModule interface as well.