/// /// import Payment from './payment'; import * as BigNumber from 'bignumber.js'; import ChannelId from './ChannelId'; import { EventEmitter } from 'events'; import { TransactionResult } from 'truffle-contract'; import { PaymentChannel } from './PaymentChannel'; import { RemoteChannelInfo } from './RemoteChannelInfo'; export default interface IChannelManager extends EventEmitter { openChannel(sender: string, receiver: string, amount: BigNumber.BigNumber, minDepositAmount?: BigNumber.BigNumber, channelId?: ChannelId | string, tokenContract?: string): Promise; closeChannel(channelId: string | ChannelId): Promise; deposit(channelId: string, value: BigNumber.BigNumber): Promise; nextPayment(channelId: string | ChannelId, amount: BigNumber.BigNumber, meta: string): Promise; spendChannel(payment: Payment, token?: string): Promise; acceptPayment(payment: Payment): Promise; requireOpenChannel(sender: string, receiver: string, amount: BigNumber.BigNumber, minDepositAmount?: BigNumber.BigNumber | number, tokenContract?: string): Promise; channels(): Promise; openChannels(): Promise; settlingChannels(): Promise; channelById(channelId: ChannelId | string): Promise; verifyToken(token: string): Promise; syncChannels(sender: string, receiver: string, remoteChannels: RemoteChannelInfo[]): Promise; lastPayment(channelId: string | ChannelId): Promise; }