Hi. You can also try to get some help in libGDX discord, since TeaVM backend for libGDX was created by other people, who I'm not sure read this forum.
As for you particular question, I can only answer how it can look like outside libGDX. First of all, you don't need necessarily to write your UI code in JS. Instead, you can write all UI code right in Java, it would be the easiest option. TeaVM comes with JS interop layer called JSO, you can find documentation
here. Also, TeaVM provides some (but far from complete) set of bindings to JS APIs. Just take a look at
examples.
If you want to expose methods other than 'main', one option is to switch to latest
preview build, which provides this
functionality. However, AFAIK, latest version of libGDX works with 0.9.2, so if something goes wrong with 0.10.0-dev-12, you should ask backend authors. Other option is to write a small JS method like this:
@JSBody(params = "obj", script = "window.teavmExport = obj;")
private static void exportDeclarations(JSObject obj);
So you should only create obj and fill it with functions you need (please, read documentation and see examples in order to understand how to do that).