I think you should be able to make your delete function internal. I don't see any visibility requirements in DAOs in the Room documentation. If you separate your DAOs into a separate module, visibility to your delete function will then be restricted to only within that module.