import { WireReader, WireWriter, BoltFFIModule, instantiateBoltFFISync, wireStringSize } from "@boltffi/runtime";
import type { Duration, WireCodec, BoltFFIImports, BoltFFIExports } from "@boltffi/runtime";
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { dirname, join } from "node:path";

const EXPECTED_ABI_VERSION = {{ abi_version }};
const _callback_handle_js_namespace_start = 0x80000000;
const _callback_handle_key = (handle: number): number => handle >>> 0;
const _thisDir = dirname(fileURLToPath(import.meta.url));
const _wasmPath = join(_thisDir, "{{ module_name }}_bg.wasm");
const _callbackImports: Record<string, WebAssembly.ImportValue> = {};
