import BigNumber from 'bignumber.js' ; import { Transaction } from './transaction' ; import { Address } from './address' ; import { EIP1559Fee } from './fees' ; export interface SwapParams { /**
     * The amount of native value locked in the swap
     */ value : BigNumber ; /**
     * Recepient address of the swap
     */ recipientAddress : Address | string ; /**
     * Refund address of the swap
     */ refundAddress : Address | string ; /**
     * Secret Hash
     */ secretHash : string ; /**
     * Expiration of the swap
     */ expiration : number ; } export interface SwapProvider { param { ! SwapParams } swapParams param { number } blockNumber return { Promise < Transaction > } findInitiateSwapTransaction ( swapParams , blockNumber ? ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { number } blockNumber return { Promise < string > } findClaimSwapTransaction ( swapParams , initiationTxHash , blockNumber ? ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { ! number } blockNumber return { Promise < string , TypeError > } findRefundSwapTransaction ( swapParams , initiationTxHash , blockNumber ? ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { ! number } blockNumber return { Promise < string , TypeError > } findFundSwapTransaction ( swapParams , initiationTxHash , blockNumber ? ) : Promise < Transaction > ; param { ! string } message return { Promise < string > } generateSecret ( message ) : Promise < string > ; param { ! string } transaction return { Promise < string > } getSwapSecret ( claimTxHash ) : Promise < string > ; param { ! SwapParams } swapParams param { ! Fee } fee return { Promise < Transaction , TypeError > } initiateSwap ( swapParams , fee ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { ! Fee } fee return { Promise < Transaction , TypeError > } fundSwap ( swapParams , initiationTxHash , fee ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash return { Promise < boolean , TypeError > } verifyInitiateSwapTransaction ( swapParams , initiationTxHash ) : Promise < boolean > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { ! string } secret param { ! Fee } fee return { Promise < Transaction , TypeError > } claimSwap ( swapParams , initiationTxHash , secret , fee ) : Promise < Transaction > ; param { ! SwapParams } swapParams param { ! string } initiationTxHash param { ! Fee } fee return { Promise < string , TypeError > } refundSwap ( swapParams , initiationTxHash , fee ) : Promise < Transaction > ; /**
     * True if the client must provide block numbers to find swap transactions
     */ doesBlockScan : boolean | ( ( ) => boolean ) ; }