import { ChainConfig } from './types.mjs'; /** * Veridex Protocol SDK - Utility Functions */ /** * Base64URL encode a buffer */ declare function base64URLEncode(buffer: Uint8Array): string; /** * Base64URL decode a string */ declare function base64URLDecode(str: string): Uint8Array; /** * Parse DER-encoded ECDSA signature to r and s values */ declare function parseDERSignature(signature: Uint8Array): { r: Uint8Array; s: Uint8Array; }; /** * Encode signature for Solidity verification */ declare function encodeSignatureForSolidity(r: bigint, s: bigint): string; /** * Compute key hash from public key coordinates */ declare function computeKeyHash(publicKeyX: bigint, publicKeyY: bigint): string; /** * Get chain config by name */ declare function getChainConfig(chainName: string, testnet?: boolean): ChainConfig | undefined; /** * Get chain config by Wormhole chain ID */ declare function getChainByWormholeId(wormholeChainId: number, testnet?: boolean): ChainConfig | undefined; /** * Get chain config by EVM chain ID */ declare function getChainByEvmId(evmChainId: number, testnet?: boolean): ChainConfig | undefined; /** * Check if a chain is EVM-compatible */ declare function isEvmChain(wormholeChainId: number): boolean; /** * Get all supported chains */ declare function getSupportedChains(testnet?: boolean): ChainConfig[]; /** * Get transaction explorer URL */ declare function getTxExplorerUrl(chain: ChainConfig, txHash: string): string; /** * Get address explorer URL */ declare function getAddressExplorerUrl(chain: ChainConfig, address: string): string; /** * Validate an EVM address */ declare function isValidEvmAddress(address: string): boolean; /** * Validate a bytes32 hex string */ declare function isValidBytes32(hex: string): boolean; /** * Validate a Wormhole chain ID */ declare function isValidWormholeChainId(chainId: number): boolean; /** * Retry a function with exponential backoff */ declare function retryWithBackoff(fn: () => Promise, options?: { maxRetries?: number; initialDelayMs?: number; maxDelayMs?: number; backoffMultiplier?: number; onRetry?: (attempt: number, error: Error) => void; }): Promise; export { base64URLDecode, base64URLEncode, computeKeyHash, encodeSignatureForSolidity, getAddressExplorerUrl, getChainByEvmId, getChainByWormholeId, getChainConfig, getSupportedChains, getTxExplorerUrl, isEvmChain, isValidBytes32, isValidEvmAddress, isValidWormholeChainId, parseDERSignature, retryWithBackoff };