Can I require providers to be passed into a module?

I have a module that creates an s3 bucket and a replica bucket in another region. It expects two providers to be passed in but as far as I can see there is no way to require that so that it errors out if there are not two providers explicitly passed in. Is there a way to do that? As is, it just creates the second provider that wasn’t passed in and uses default values to create itself and then the module fails with an obscure error that my users don’t understand.