/** * Driver interface that all drivers implement. */ export interface Driver { /** * Open driver */ open: () => Promise /** * Clean up and close driver */ close: () => Promise /** * Persist data to the driver's backend */ save: (data: T) => Promise /** * Loads data from the driver's backend */ load: () => Promise /** * Clean all the data in the driver's backend */ reset: () => Promise }