/** * Persistent storage adapter for x402-cfo. * * By default everything is in-memory. This interface lets users * plug in file-based, SQLite, or any other storage so ledger * history survives agent restarts. * * Ships with a built-in JSON file adapter. */ import type { LedgerEntry } from './ledger.js'; /** Storage adapter interface — implement this for custom backends. */ export interface StorageAdapter { /** Load all ledger entries. */ load(): LedgerEntry[] | Promise; /** Append a single entry. */ append(entry: LedgerEntry): void | Promise; /** Save all entries (full sync). */ save(entries: LedgerEntry[]): void | Promise; } /** * JSON file storage adapter. * * Simple, zero-dependency persistence. Writes a JSON file on every * append so no data is lost. Good enough for single-agent setups. * * Usage: * const agent = new AgentCFO({ * wallet: myWallet, * storage: new JsonFileStorage('./agent-ledger.json'), * }); */ export declare class JsonFileStorage implements StorageAdapter { private path; constructor(filePath: string); load(): LedgerEntry[]; append(entry: LedgerEntry): void; save(entries: LedgerEntry[]): void; } //# sourceMappingURL=storage.d.ts.map