# Mono.WebAssembly.Interop

``` diff
 {
+    namespace Mono.WebAssembly.Interop {
+        public class MonoWebAssemblyJSRuntime : JSInProcessRuntime {
+            public MonoWebAssemblyJSRuntime();
+            protected override void BeginInvokeJS(long asyncHandle, string identifier, string argsJson);
+            protected override void EndInvokeDotNet(DotNetInvocationInfo callInfo, in DotNetInvocationResult dispatchResult);
+            protected static void Initialize(MonoWebAssemblyJSRuntime jsRuntime);
+            protected override string InvokeJS(string identifier, string argsJson);
+            public TRes InvokeUnmarshalled<T0, T1, T2, TRes>(string identifier, T0 arg0, T1 arg1, T2 arg2);
+            public TRes InvokeUnmarshalled<T0, T1, TRes>(string identifier, T0 arg0, T1 arg1);
+            public TRes InvokeUnmarshalled<T0, TRes>(string identifier, T0 arg0);
+            public TRes InvokeUnmarshalled<TRes>(string identifier);
+        }
+    }
+}
```

