import Payment, { PaymentJSON } from '../payment'; import IEngine from './IEngine'; import IPaymentsDatabase from './IPaymentsDatabase'; import ChannelId from '../ChannelId'; export default abstract class AbstractPaymentsDatabase implements IPaymentsDatabase { kind: string; engine: T; constructor(engine: T, namespace: string | null); inflatePayment(json: PaymentJSON): Payment | null; abstract save(token: string, payment: Payment): Promise; abstract firstMaximum(channelId: ChannelId | string): Promise; abstract findByToken(token: string): Promise; }