import { Z as ZubariWalletConfig, N as NetworkType, A as Account, a as NetworkBalance, c as SendParams, T as TxResult } from './index-BLuxEdLp.js'; import './WalletManager-TiAdzqrn.js'; interface ContractAddresses { registry: string; nft: string; marketplace: string; tips: string; subscriptions: string; payouts: string; entryPoint: string; paymaster: string; accountFactory: string; usdt: string; weth: string; } declare const ZUBARI_CONTRACTS: Record<'testnet' | 'mainnet', ContractAddresses>; declare const PLATFORM_CONFIG: { readonly tipFeeBps: 300; readonly maxRoyaltyBps: 1000; readonly defaultSlippageBps: 50; readonly voucherValiditySecs: number; readonly swapDeadlineSecs: number; }; declare function getContractAddresses(network: 'testnet' | 'mainnet'): ContractAddresses; /** * ZubariWallet - Multi-chain self-custodial wallet * * Core wallet class that manages accounts across multiple blockchain networks * using Tether WDK as the underlying infrastructure layer. */ declare class ZubariWallet { private readonly seed; private readonly config; private readonly accounts; private initialized; constructor(seed: string, config: ZubariWalletConfig); /** * Initialize the wallet by deriving accounts for all enabled networks */ initialize(): Promise; /** * Derive account for a specific network using BIP-44 */ private deriveAccount; /** * Get account for a specific network */ getAccount(network: NetworkType, index?: number): Promise; /** * Get address for a specific network */ getAddress(network: NetworkType): Promise; /** * Get all addresses for enabled networks */ getAllAddresses(): Promise>; /** * Get balance for a specific network */ getBalance(network: NetworkType): Promise; /** * Get balances for all enabled networks */ getAllBalances(): Promise; /** * Get total portfolio value in USD */ getTotalPortfolioUsd(): Promise; /** * Send native currency on a specific network */ send(network: NetworkType, params: SendParams): Promise; /** * Send ERC-20 token on EVM networks */ sendToken(network: NetworkType, token: string, to: string, amount: bigint): Promise; /** * Send Bitcoin on-chain using WalletManagerBtc * @param to - Destination address (bc1q... for native segwit) * @param amount - Amount in satoshis */ sendBitcoin(to: string, amount: bigint): Promise; /** * Validate Bitcoin address format */ private isValidBitcoinAddress; /** * Get Bitcoin address (native segwit bc1q...) */ getBitcoinAddress(): Promise; /** * Pay Lightning invoice via Spark network * Uses WDK WalletManagerSpark (m/44'/998') * @param invoice - Lightning invoice string (lnbc...) */ sendLightning(invoice: string): Promise; /** * Create Lightning invoice via Spark * @param amount - Amount in millisatoshis * @param memo - Optional payment memo * @returns Lightning invoice string (lnbc...) */ createLightningInvoice(amount: bigint, memo?: string): Promise; /** * Validate Lightning invoice format */ private isValidLightningInvoice; /** * Decode Lightning invoice (basic parsing) */ private decodeLightningInvoice; /** * Get Lightning (Spark) balance */ getLightningBalance(): Promise<{ available: bigint; pending: bigint; }>; /** * Get configuration */ getConfig(): ZubariWalletConfig; /** * Check if wallet is initialized */ isInitialized(): boolean; /** * Get contract addresses for current network */ getContractAddresses(): ContractAddresses; } export { PLATFORM_CONFIG as P, ZubariWallet as Z, ZUBARI_CONTRACTS as a, getContractAddresses as g };