import { IBaseBridgeConfigOptions, IBaseBridgeConfig } from '../../core/types'; import { IDeBridgeCreateQuoteResponse, IDeBridgeEstimatedFeesInput, IDeBridgeTokenValidateParams, ISendDebridgeTokenInput } from './types'; import { Hash } from 'viem'; export interface IDeBridgeConfigOptions extends IBaseBridgeConfigOptions { statsEndpoint: string; } export interface IDeBridgeConfig extends IBaseBridgeConfig { statsEndpoint: string; } export declare function deBridgeConfig(options: IDeBridgeConfigOptions): IDeBridgeConfig; export declare class DeBridge { private client?; private statsClient?; constructor(config: IDeBridgeConfigOptions); createTxQuote(urlParams: any): Promise; /** * Get estimated fees from transaction quote API * @param {number} fromChainId - Chain ID of the source chain * @param {Address} fromTokenAddress - Address of ERC20 token on the source chain * @param {BigInt} amount - Send amount * @param {number} toChainId - Chain ID of the destination chain * @param {Address} toTokenAddress - Address of ERC20 token on the destination chain * @param {Address} userAddress - user/account address */ getEstimatedFees({ fromChainId, fromTokenAddress, amount, toChainId, toTokenAddress, userAddress, toUserAddress, affiliateFeePercent, accesstoken, referralCode, prependOperatingExpenses, }: IDeBridgeEstimatedFeesInput): Promise; getOrder({ id }: { id: string; }): Promise; /** * Get list of orders by filters * @param address Account address * @param pageId Page number * @param pageSize Records per page * @param fromChainIds Source chain IDs * @param toChainIds Destination chain IDs */ getStatsHistory({ address, pageId, pageSize, fromChainIds, toChainIds, }: { address: string; pageId: number; pageSize: number; fromChainIds: number[]; toChainIds: number[]; }): Promise; /** * Send token via DeBridge * @param {WalletClient} walletClient Wallet client * @param {Address} bridgeAddress Bridge address * @param {String} data Transaction data * @param {BigInt} amount Send amount * @param {Address} address wallet/account address * @returns {Hash} transaction hash */ sendToken({ walletClient, bridgeAddress, data, amount, address, }: ISendDebridgeTokenInput): Promise; validateDeBridgeToken: ({ fromChainId, fromChainType, toChainId, toChainType, fromTokenAddress, fromTokenSymbol, fromTokenDecimals, fromBridgeAddress, toTokenAddress, toTokenSymbol, toTokenDecimals, amount, deBridgeEndpoint, }: IDeBridgeTokenValidateParams) => Promise; }