import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from "../../../../../../common/tokens"; import { EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name"; import { EvmWeb3Private } from "../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private"; import { EvmBasicTransactionOptions } from "../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-basic-transaction-options"; import { EvmTransactionOptions } from "../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-transaction-options"; import { EvmWeb3Public } from "../../../../../../core/blockchain/web3-public-service/web3-public/evm-web3-public/evm-web3-public"; 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 { CrossChainTrade } from "../cross-chain-trade"; import { GasData } from "./models/gas-data"; import { GetContractParamsOptions } from "../models/get-contract-params-options"; import { TransactionConfig } from 'web3-core'; import { TransactionReceipt } from 'web3-eth'; export declare abstract class EvmCrossChainTrade extends CrossChainTrade { abstract readonly from: PriceTokenAmount; /** * Gas fee info in source blockchain. */ abstract readonly gasData: GasData; protected get fromWeb3Public(): EvmWeb3Public; protected get web3Private(): EvmWeb3Private; protected get gasLimitRatio(): number; /** * Gets gas fee in source blockchain. */ get estimatedGas(): BigNumber | null; approve(options: EvmBasicTransactionOptions, checkNeedApprove?: boolean, amount?: BigNumber | 'infinity'): Promise; protected checkAllowanceAndApprove(options?: Omit): Promise; protected swapDirect(options?: SwapTransactionOptions): Promise; getData(fromAddress: string, options?: SwapTransactionOptions): Promise; /** * * @returns txHash(srcTxHash) | never */ swap(options?: SwapTransactionOptions): Promise; encode(options: EncodeTransactionOptions): Promise; encodeApprove(tokenAddress: string, spenderAddress: string, value: BigNumber | 'infinity', options?: EvmTransactionOptions): Promise; protected abstract getContractParams(options: GetContractParamsOptions, skipAmountChangeCheck?: boolean): Promise; getUsdPrice(providerFeeToken?: BigNumber): BigNumber; private encodeProxy; }