import type { Proof } from "@cashu/cashu-ts"; export enum PaymentStatus { ParsingDestination = 0, AttemptingCashuPayment = 1, AttemptingLightningPayment = 2, CashuPaymentFailed = 3, AmountRequired = 4, PreparingOnchainPayment = 5, BroadcastingOnchainPayment = 6, PaymentFailed = 0xfe, PaymentSent = 0xff, } export interface CashuTxn { txId: string; paymentType: "receive" | "send"; amountSat: number; timestamp: number; status: "complete"; } export interface CashuStore { getProofs(): Promise; getTxns(): Promise; getLastRedeemedCashuQuoteTimestamp(): Promise; persistProofs(proofs: Proof[]): Promise; persistTxns(txns: CashuTxn[]): Promise; persistLastRedeemedCashuQuoteTimestamp(timestamp: number): Promise; }