/// import BigNumber from 'bignumber.js'; import { IlpPrepare, IlpReply } from 'ilp-packet'; import { BtpPacket, BtpPacketData, BtpSubProtocol } from 'ilp-plugin-btp'; import { BehaviorSubject } from 'rxjs'; import LightningPlugin from '.'; import { DataHandler, MoneyHandler } from './types/plugin'; export declare enum Unit { BTC = 8, Satoshi = 0 } export declare const convert: (num: BigNumber.Value, from: Unit, to: Unit) => BigNumber; export declare const format: (num: BigNumber.Value, from: Unit) => string; export declare type ParsedSubprotocol = string | Buffer | undefined; export declare const getSubProtocol: (message: BtpPacketData, name: string) => string | Buffer | undefined; export declare const generateBtpRequestId: () => Promise; export default class LightningAccount { readonly accountName: string; readonly receivableBalance$: BehaviorSubject; readonly payableBalance$: BehaviorSubject; readonly payoutAmount$: BehaviorSubject; peerIdentityPublicKey?: string; private readonly master; private readonly sendMessage; private readonly dataHandler; private readonly moneyHandler; private incomingInvoices; private outgoingInvoices; private invoiceHandler; constructor({ accountName, payableBalance$, receivableBalance$, payoutAmount$, master, sendMessage, dataHandler, moneyHandler }: { accountName: string; payableBalance$: BehaviorSubject; receivableBalance$: BehaviorSubject; payoutAmount$: BehaviorSubject; master: LightningPlugin; sendMessage: (message: BtpPacket) => Promise; dataHandler: DataHandler; moneyHandler: MoneyHandler; }); connect(): Promise; handleData({ data }: BtpPacket): Promise; private sendPeeringInfo; private sendInvoice; private handleIncomingPayment; sendMoney(amount?: string): Promise; unload(): void; private handlePrepare; handlePrepareResponse(prepare: IlpPrepare, reply: IlpReply): void; }