I think you are misunderstanding what interfaces are used for.
Interfaces are more like a set of promises that each class implementing the interface must offer. You can have a million classes implementing the same interface, but you do not need to know WHAT class it is exactly as long as you know that it implements that interface. It is not used for communication between blueprints that are not connected. Hit events, overlap events, event dispatchers and exposed variables are the main ways to communicate between different blueprints.