/** * Use to read and write data of type T */ export interface IAdapter { /** * Read the data from the medium */ readAsync: () => Promise; /** * Write date into the medium * @param data */ writeAsync: (data: T) => Promise; } export interface IFileAdapter extends IAdapter { /** * Name of the file used by the file adapter */ readonly filename: string; }