import { PluginInstance, PluginServices } from '../types/plugin'; import MiniAccountsPlugin from 'ilp-plugin-mini-accounts'; import { ServerOptions } from 'ws'; import { IldcpResponse } from 'ilp-protocol-ildcp'; import { BtpPacket, BtpSubProtocol } from 'ilp-plugin-btp'; import { IlpPacket, IlpPrepare, Type } from 'ilp-packet'; import LightningAccount from '../account'; export interface MiniAccountsOpts { port?: number; wsOpts?: ServerOptions; debugHostIldcpInfo?: IldcpResponse; allowedOrigins?: string[]; } export interface LightningServerOpts extends MiniAccountsOpts { getAccount: (accountName: string) => LightningAccount; loadAccount: (accountName: string) => Promise; } export declare class LightningServerPlugin extends MiniAccountsPlugin implements PluginInstance { private getAccount; private loadAccount; constructor({ getAccount, loadAccount, ...opts }: LightningServerOpts, api: PluginServices); _sendMessage(accountName: string, message: BtpPacket): Promise; _handleCustomData: (from: string, message: BtpPacket) => Promise; _handlePrepareResponse: (destination: string, responsePacket: IlpPacket, preparePacket: { type: Type.TYPE_ILP_PREPARE; typeString?: "ilp_prepare" | undefined; data: IlpPrepare; }) => Promise; sendMoney(): Promise; _close(from: string): Promise; }