/// export declare type DataHandler = (data: Buffer) => Promise; export declare type MoneyHandler = (amount: string) => Promise; import { EventEmitter2 } from 'eventemitter2'; export interface PluginInstance extends EventEmitter2 { connect(options: {}): Promise; disconnect(): Promise; isConnected(): boolean; sendData(data: Buffer): Promise; sendMoney(amount: string): Promise; registerDataHandler(dataHandler: DataHandler): void; deregisterDataHandler(): void; registerMoneyHandler(moneyHandler: MoneyHandler): void; deregisterMoneyHandler(): void; getAdminInfo?(): Promise; sendAdminInfo?(info: object): Promise; } export interface PluginServices { log?: Logger; store?: Store; } export interface Logger { info(...msg: any[]): void; warn(...msg: any[]): void; error(...msg: any[]): void; debug(...msg: any[]): void; trace(...msg: any[]): void; } export interface Store { get: (key: string) => Promise; put: (key: string, value: string) => Promise; del: (key: string) => Promise; } export declare class MemoryStore implements Store { private _store; get(k: string): Promise; put(k: string, v: string): Promise; del(k: string): Promise; }