When sharing an microflow, you only share the microflow.
Modelshare is mend to share knowledge, ideas etc. Not for sharing full functionalities which requires Java actions entities etc.
If you want to share a function; then you need a module containing that function. By exporting the module package you can share the module among your own apps, share it a document through email or any other document transfer AND ofcourse when you have created an awesome module (like the email , gmaps module) then share it with the whole community via the appstore
If you import a shared microflow you need to make sure in your project that you have all java actions and sub microflows that are used. Regarding entities, if there are any create or change activities, the entity that is referred to in the imported microflow needs to match the module name and entity name of an entity in your project (basically you need to have the same structure as the project that the microflow was exported from).