import { Dictionary } from 'ts-essentials'; export declare const StreamNameSeparator = "__"; export declare enum Operation { UPSERT = "Upsert", UPDATE = "Update", DELETION = "Deletion", FLUSH = "Flush" } export interface TimestampedRecord { model: string; origin: string; at: number; operation: Operation; } export interface UpsertRecord extends TimestampedRecord { operation: Operation.UPSERT; data: Dictionary; } export interface UpdateRecord extends TimestampedRecord { operation: Operation.UPDATE; where: Dictionary; mask: string[]; patch: Dictionary; } export interface DeletionRecord extends TimestampedRecord { operation: Operation.DELETION; where: Dictionary; } export interface Logger { info: (msg: string) => void; debug: (msg: string) => void; warn: (msg: string) => void; }