Using React Native Methods in Web (loose) 
This guide covers how to use native methods in a web environment without strict type safety. Sharing code between two projects that aren't part of a monorepo can be challenging. This method provides a way to develop without focusing on types.
NOTE
There is a way to export types to other projects using dts-bundle-generator.
For detailed guides, visit:
 Custom declaration file: Exporting Type Declarations with a Custom Declaration File
 Generate declaration file: Exporting Type Declarations with a Generate Declaration File
React Native Part 
Set up the bridge in React Native.
ts
import { createWebView, bridge } from "@webview-bridge/react-native";
import InAppBrowser from "react-native-inappbrowser-reborn";
// Register functions in the bridge object in your React Native code
export const appBridge = bridge({
  async getMessage() {
    return "Hello, I'm native";
  },
  async sum(a: number, b: number) {
    return a + b;
  },
  async openInAppBrowser(url: string) {
    if (await InAppBrowser.isAvailable()) {
      await InAppBrowser.open(url);
    }
  },
  // ... Add more functions as needed
});
export const { WebView } = createWebView({
  bridge: appBridge,
  debug: true, // Enable console.log visibility in the native WebView
});Web Part 
Declare linkBridge and use it immediately with .loose.
Although it doesn't benefit from type assistance, it functions correctly at runtime.
ts
import { linkBridge } from "@webview-bridge/web";
const bridge = linkBridge();
bridge.loose.getMessage().then((message) => console.log(message)); // Expecting "Hello, I'm native"
bridge.loose.sum(1, 2).then((num) => console.log(num)); // Expecting 3
if (bridge.isNativeMethodAvailable("openInAppBrowser")) {
    bridge.loose.openInAppBrowser("https://google.com"); // Open Google in the native inAppBrowser
}