You can get close to what you are looking for by enabling the must approve users site setting and setting your min trust level to allow invite setting to “4: leader” to prevent regular users from sending invites.
Users who accept invites sent by staff members will be automatically approved. Users who register with a username/password will need to be approved by a staff member.