import { Message , SignedMessage , Signature , KeyInfo , Cid , MessagePartial , VoucherSpec , ChainEpoch } from './Types' ; export interface WalletProviderInterface { newAddress ( ) : Promise < string > ; deleteAddress ( address ) : Promise < void > ; getAddresses ( ) : Promise < string [ ] > ; hasAddress ( address ) : Promise < any > ; setDefaultAddress ( address ) : Promise < void > ; getDefaultAddress ( ) : Promise < string > ; exportPrivateKey ( address ) : Promise < KeyInfo > ; sendMessage ( msg ) : Promise < SignedMessage > ; signMessage ( msg ) : Promise < SignedMessage > ; sign ( data ) : Promise < Signature > ; verify ( address , data , sign ) : Promise < boolean > ; } export interface PaymentChannelsProviderInterface { createPaymentChannel ( from , to , amount ) : Promise < Cid > ; updatePaymentChannel ( pchAddress , from , signedVoucher ) : Promise < Cid > ; settlePaymentChannel ( pchAddress ) : Promise < Cid > ; collectPaymentChannel ( pchAddress ) : Promise < Cid > ; getPaymentChannelBalance ( pchAddress ) : Promise < string > ; getPaymentChannelLaneNonce ( pchAddress , lane ) : Promise < number > ; createVoucher ( address , amount , lane ) : Promise < VoucherSpec > ; validateVoucher ( signerAddress , signedVoucher ) : Promise < boolean > ; } export interface MultisigProviderInterface { msigCreate ( requiredNumberOfSenders , approvingAddresses , startEpoch , unlockDuration , initialBalance , senderAddressOfCreateMsg ) : Promise < Cid > ; msigProposeTransfer ( address , recipientAddres , value , senderAddressOfProposeMsg ) : Promise < Cid > ; msigApproveTransfer ( address , proposedTransactionId , signerAddress ) : Promise < Cid > ; msigApproveTransferTxHash ( address , proposedMessageId , proposerAddress , recipientAddres , value , senderAddressOfApproveMsg ) : Promise < Cid > ; msigCancelTransfer ( address , senderAddressOfCancelMsg , proposedMessageId , recipientAddres , value , methodToCallInProposeMsg ) : Promise < Cid > ; msigProposeAddSigner ( address , senderAddressOfProposeMsg , newSignerAddress , increaseNumberOfRequiredSigners ) : Promise < Cid > ; msigApproveAddSigner ( address , senderAddressOfApproveMsg , proposedMessageId , proposerAddress , newSignerAddress , increaseNumberOfRequiredSigners ) : Promise < Cid > ; msigCancelAddSigner ( address , senderAddressOfCancelMsg , proposedMessageId , newSignerAddress , increaseNumberOfRequiredSigners ) : Promise < Cid > ; msigProposeSwapSigner ( address , senderAddressOfProposeMsg , oldSignerAddress , newSignerAddress ) : Promise < Cid > ; msigApproveSwapSigner ( address , senderAddressOfApproveMsg , proposedMessageId , proposerAddress , oldSignerAddress , newSignerAddress ) : Promise < Cid > ; msigCancelSwapSigner ( address , senderAddressOfCancelMsg , proposedMessageId , oldSignerAddress , newSignerAddress ) : Promise < Cid > ; msigProposeRemoveSigner ( address , senderAddressOfProposeMsg , addressToRemove , decreaseNumberOfRequiredSigners ) : Promise < Cid > ; msigApproveRemoveSigner ( address , senderAddressOfApproveMsg , proposedMessageId , proposerAddress , addressToRemove , decreaseNumberOfRequiredSigners ) : Promise < Cid > ; msigCancelRemoveSigner ( address , senderAddressOfCancelMsg , proposedMessageId , addressToRemove , decreaseNumberOfRequiredSigners ) : Promise < Cid > ; }