import type { IAddress } from '../../types'; import type { ICrossChainVaultConfig, ICrossChainBuildRequest, ICrossChainBuildResult, ICrossChainDepositRequest, ICrossChainDepositResult, ICrossChainRedeemRequest, ICrossChainRedeemResult, IQuoteCrossChainDepositRequest, IQuoteCrossChainRedeemRequest, IQuoteCrossChainResult, CrossChainErrorType } from '../types/crossChain'; export declare function buildCrossChainVaultTx(props: ICrossChainBuildRequest): Promise; export declare function quoteCrossChainDeposit(props: IQuoteCrossChainDepositRequest): Promise; export declare function quoteCrossChainRedeem(props: IQuoteCrossChainRedeemRequest): Promise; export declare function needsCrossChainApproval(tokenAddress: IAddress, spenderAddress: IAddress, walletAddress: IAddress, amount: bigint, publicClient: { readContract: (args: unknown) => Promise; }): Promise; export declare function approveCrossChain(tokenAddress: IAddress, spenderAddress: IAddress, amount: bigint, walletClient: { account: { address: string; } | undefined; writeContract: (args: unknown) => Promise; }, publicClient: { waitForTransactionReceipt: (args: { hash: string; }) => Promise<{ status: string; }>; }): Promise; export declare function crossChainVaultDeposit(props: ICrossChainDepositRequest): Promise; export declare function crossChainVaultRedeem(props: ICrossChainRedeemRequest): Promise; export declare function isNoPeerError(errStr: string): boolean; export declare function classifyCrossChainError(error: unknown): CrossChainErrorType; export declare function canDepositFromChain(config: ICrossChainVaultConfig, userChainId: number): boolean; export declare function canRedeemFromChain(config: ICrossChainVaultConfig, userChainId: number): boolean; export declare function isCrossChainOperation(config: ICrossChainVaultConfig, userChainId: number, destinationChainId?: number): boolean; export declare function getAvailableChains(config: ICrossChainVaultConfig): number[]; export declare function formatCrossChainError(errMsg: string): string; export declare function getLayerZeroScanUrl(txHash: string, testnet?: boolean): string; export declare const LAYERZERO_ENDPOINT_IDS: { readonly ETHEREUM: 30101; readonly ARBITRUM: 30110; readonly AVALANCHE: 30106; readonly BASE: 30184; readonly SONIC: 30332; readonly MONAD: 30390; };