type Stringify = { [key in keyof T]: string; }; type Textify = { [key in keyof T]: string | number; }; export declare function exists(filePath: string): Promise; export declare function mkdir(path: string): Promise; export declare function rmFile(path: string): Promise; export interface IStorage

{ read(): Promise

; write(item: P): Promise; } export interface IListStorage

{ append(row: P | P[]): Promise; } export declare abstract class BaseFileStorage

implements IStorage

{ folderPath: string; fileName: string; protected constructor(folderPath: string, fileName: string); delete(): Promise; exists(filePath?: string): Promise; protected createFolder(): Promise; protected get filePath(): string; abstract read(): Promise

; abstract write(item: P): Promise; } export declare abstract class BaseListFileStorage

extends BaseFileStorage implements IListStorage

{ abstract append(row: P | P[]): Promise; } export declare class JsonStorage

extends BaseFileStorage

{ folderPath: string; fileName: string; constructor(folderPath: string, fileName: string); write(data: P): Promise; read(): Promise

; } export declare class CsvStorage

extends BaseListFileStorage

{ readonly folderPath: string; readonly fileName: string; protected readonly onRead: (row: Stringify

) => P; protected readonly onWrite: (row: P) => Textify

; constructor(folderPath: string, fileName: string, onRead: (row: Stringify

) => P, onWrite: (row: P) => Textify

); read(): Promise; write(rows: P[]): Promise; append(row: P | P[]): Promise; } export declare class InMemoryStorage

implements IStorage

{ private value; read(): Promise

; write(item: P): Promise; } export declare class InMemoryListStorage

implements IListStorage

{ private list; read(): Promise; write(item: P[]): Promise; append(row: P[] | P): Promise; } export {}; //# sourceMappingURL=storage.d.ts.map