Can Synthesizable BFM contain proxy handle and/or transaction item instance?

Hello everyone, hope you are doing well.

One of the purposes of BFMs, from what I understand, is that they should be synthesizable for emulation. Is that correct??

If so, can a BFM with handle to it’s proxy and and instance of transaction item be synthesizable?? Also, should I try to avoid wait() and while() statements?

In reply to Husni Mahdi:

It depends on the capabilities of your emulation platform. You will need to refer to your emulation platform’s documentation for more information.