import BigNumber from 'bignumber.js'; import { PriceTokenAmount } from "../../../../../../common/tokens"; import { BitcoinBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name"; import { BitcoinWeb3Private } from "../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/bitcoin-web3-private"; import { BitcoinEncodedConfig } from "../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/models/bitcoin-encoded-config"; 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 { BitcoinWeb3Public } from "../../../../../../core/blockchain/web3-public-service/web3-public/bitcoin-web3-public/bitcoin-web3-public"; import { ContractParams } from "../../../../../common/models/contract-params"; import { SwapTransactionOptions } from "../../../../../common/models/swap-transaction-options"; import { CrossChainTrade } from "../cross-chain-trade"; import { TransactionConfig } from 'web3-core'; import { TransactionReceipt } from 'web3-eth'; export declare abstract class BitcoinCrossChainTrade extends CrossChainTrade { abstract readonly from: PriceTokenAmount; abstract readonly memo: string; protected get fromWeb3Public(): BitcoinWeb3Public; protected get web3Private(): BitcoinWeb3Private; /** * Gets gas fee in source blockchain. */ get estimatedGas(): BigNumber | null; approve(_options: EvmBasicTransactionOptions, _checkNeedApprove?: boolean, _amount?: BigNumber | 'infinity'): Promise; protected checkAllowanceAndApprove(): Promise; /** * * @returns txHash(srcTxHash) | never */ swap(options?: SwapTransactionOptions): Promise; encode(): Promise; encodeApprove(_tokenAddress: string, _spenderAddress: string, _value: BigNumber | 'infinity', _options?: EvmTransactionOptions): Promise; protected getContractParams(): Promise; getUsdPrice(providerFeeToken?: BigNumber): BigNumber; }