We have STM32L0.sleep();, STM32L0.stop(); and STM32L0.standby(); as power management tools.
For timeout in milliseconds, I would use:
STM32L0.stop(timeout);
at the end of the main loop in your Arduino sketch. This will periodically (every timeout/1000 seconds) run whatever is in your loop and then the MCU will enter ~2 uA stop mode.
When managing sensors I usually use:
STM32L0.stop();
this will wake from stop on any interrupt or communication request (UART, etc) and you can easily set up an interrupt from a GPIO, etc.
The power modes are similar on the L4 and there is some more detail here: