import * as wasm from "./wasm/wasm_utxo.js";
import { WasmUtxoNamespace } from "./wasm/wasm_utxo.js";
// we need to access the wasm module here, otherwise webpack gets all weird
// and forgets to include it in the bundle
void wasm;
// Most exports are namespaced to avoid polluting the top-level namespace
// and to make imports more explicit (e.g., `import { address } from '@bitgo/wasm-utxo'`)
export * as address from "./address.js";
export * as ast from "./ast/index.js";
export * as bip322 from "./bip322/index.js";
export * as inscriptions from "./inscriptions.js";
export * as message from "./message.js";
export * as utxolibCompat from "./utxolibCompat.js";
export * as fixedScriptWallet from "./fixedScriptWallet/index.js";
export * as descriptorWallet from "./descriptorWallet/index.js";
export * as bip32 from "./bip32.js";
export * as ecpair from "./ecpair.js";
// Only the most commonly used classes and types are exported at the top level for convenience
export { ECPair } from "./ecpair.js";
export { BIP32 } from "./bip32.js";
export { Dimensions } from "./fixedScriptWallet/Dimensions.js";
export function getWasmUtxoVersion() {
    return WasmUtxoNamespace.get_wasm_utxo_version();
}
export { getMainnet, isMainnet, isTestnet, isCoinName } from "./coinName.js";
const WASM_UTXO_ERROR_SYMBOL = Symbol.for("@bitgo/wasm-utxo/error");
export function isWasmUtxoError(e) {
    return (e instanceof Error &&
        typeof e.code === "string" &&
        e[WASM_UTXO_ERROR_SYMBOL] === true);
}
export { WrapDescriptor as Descriptor } from "./wasm/wasm_utxo.js";
export { WrapMiniscript as Miniscript } from "./wasm/wasm_utxo.js";
export { Psbt } from "./descriptorWallet/Psbt.js";
export { DashTransaction, Transaction, ZcashTransaction, } from "./transaction.js";
export { hasPsbtMagic } from "./psbt.js";
