Nope, that's pretty much your only option.
What makes you say it's not a public API?
I understand a library "public API" as a set of interfaces / classes designed for the use of the applications, with some guarantees that they will be available and behave the same way in the future releases.
I do not think that any class with "public" visibility qualifier can be considered "public API".
Talking about TxControl. I assumed it is not a "public API" since I did not see any reference to it in the documentation or samples. Now I double checked and found that it is referenced in the core programmer guide.
How would you define JBossTS pubic API? Which classes the application may use (in addition to Java APIs like JTA), given that there is no portability requirements?
Anything that is not within the internal package structure is governed by our deprecation rules and will not change without being deprecated within at least 1 release cycle.