/**
 * PrivacyBoost TypeScript SDK
 *
 * This SDK provides privacy operations powered by a Rust WASM module for:
 * - High performance cryptographic operations
 * - Consistent behavior across platforms
 * - Zero-config WASM loading (embedded binary)
 *
 * ## Quick Start
 *
 * ```typescript
 * import { PrivacyBoost } from '@sunnyside-io/privacy-boost';
 *
 * // Create and initialize SDK (chainId and shieldContractAddress are auto-discovered)
 * const sdk = await PrivacyBoost.create({
 *   serverUrl: 'https://indexer.example.com',
 *   appId: 'my-app',
 * });
 *
 * // Authenticate with wallet
 * await sdk.auth.authenticate(walletBridge);
 *
 * // Perform privacy operations
 * await sdk.vault.shield({ tokenAddress: '0x...', amount: 1000000n });
 * ```
 */
// =============================================================================
// Main SDK
// =============================================================================
export { PrivacyBoost, } from './PrivacyBoost';
// Multi-chain
export { ChainClient } from './ChainClient';
// =============================================================================
// Errors
// =============================================================================
export { PrivacyBoostError, ErrorCodes } from './errors';
// WASM environment checks (public — useful for feature detection)
export { isClient, isWasmSupported, isWasmLoaded } from './core';
export { NATIVE_ETH_ADDRESS, isNativeEth, ShieldStep, UnshieldStep, } from './types';
export { TransactionType, TransactionStatus, TransactionDirection, } from './types';
export { encodePrivacyAddress, decodePrivacyAddress, isValidPrivacyAddress, validatePrivacyAddress, extractMpkFromPrivacyAddress, formatPrivacyAddress, PRIVACY_ADDRESS_LENGTH, PRIVACY_ADDRESS_HEX_LENGTH, COMPONENT_HEX_LENGTH, } from './types';
export { NodeStatus } from './types';
// =============================================================================
// Utilities
// =============================================================================
export { isEvmAddress, isMpkHex, assertEvmAddress, assertBigIntAmount, isPrivacyAddress, assertPrivacyAddress, assertMpk, formatAmount, parseAmount, } from './utils';
// =============================================================================
// Wallet
// =============================================================================
export { WalletRegistry, createWalletRegistry, WalletType } from './lib/wallet';
//# sourceMappingURL=index.js.map