import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from "../../../../../../common/tokens"; import { BlockchainName, EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name"; import { EvmWeb3Private } from "../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private"; import { EvmEncodeConfig } from "../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config"; import { ContractParams } from "../../../../../common/models/contract-params"; import { EncodeTransactionOptions } from "../../../../../common/models/encode-transaction-options"; import { SwapTransactionOptions } from "../../../../../common/models/swap-transaction-options"; import { EvmOnChainTrade } from "../../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade"; import { MarkRequired } from 'ts-essentials'; import { TransactionConfig } from 'web3-core'; import { EvmCrossChainTrade } from '../evm-cross-chain-trade/evm-cross-chain-trade'; import { GasData } from '../evm-cross-chain-trade/models/gas-data'; import { FeeInfo } from '../models/fee-info'; import { GetContractParamsOptions } from '../models/get-contract-params-options'; import { CrossChainPaymentInfo, CrossChainTransferData } from './models/cross-chain-payment-info'; import { CrossChainTransferTradeParams } from './models/cross-chain-transfer-trade-params'; export declare abstract class CrossChainTransferTrade extends EvmCrossChainTrade { static getGasData(from: PriceTokenAmount): Promise; protected paymentInfo: CrossChainTransferData | null; readonly onChainTrade: EvmOnChainTrade | null; protected get methodName(): string; readonly isAggregator = false; readonly from: PriceTokenAmount; readonly to: PriceTokenAmount; readonly toTokenAmountMin: BigNumber; readonly gasData: GasData; readonly feeInfo: FeeInfo; readonly priceImpact: number | null; protected actualTokenAmount: BigNumber; protected get web3Private(): EvmWeb3Private; constructor(crossChainTrade: CrossChainTransferTradeParams); getTransferTrade(receiverAddress: string, refundAddress?: string): Promise; protected getTransactionConfigAndAmount(receiverAddress?: string, refundAddress?: string): Promise<{ config: EvmEncodeConfig; amount: string; }>; protected abstract getPaymentInfo(receiverAddress: string, refundAddress?: string): Promise; encode(options: EncodeTransactionOptions): Promise; protected getContractParams(options: MarkRequired, skipAmountChangeCheck?: boolean): Promise; encodeApprove(): Promise; needApprove(): Promise; swapDirect(options?: SwapTransactionOptions): Promise; protected setTransactionConfig(skipAmountChangeCheck: boolean, useCacheData: boolean, receiverAddress?: string, refundAddress?: string): Promise; }