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 _thisDir = dirname(fileURLToPath(import.meta.url));
const _wasmPath = join(_thisDir, "{{ module_name }}_bg.wasm");
const _callbackImports: Record<string, WebAssembly.ImportValue> = {};
