Azure Bicep is the recommended and domain language that Azure Team at Microsoft promotes all customers to use. Customers that are not cross-cloud do not commonly use Terraform, among other reasons it is generally behind in getting new API features Azure Services offers (especially preview). Azure PowerShell and Azure CLI both support passing in a Bicep file in-place of an ARM JSON file so this shouldn't be a heavy lift.
Bicep modules get published to a registry (e.g., Azure Container Registry) and then projects/repositories that may consume those modules can use a bicep.config file in the root of their repository to define repository paths of the modules (over mapping the whole ACR URI, etc.) and the authentication preferences (e.g., Azure CLI primary then Azure PowerShell, etc.).