export interface ReadModel { readonly id: string; readonly data: TData; readonly version: number; readonly lastUpdated: Date; } export declare abstract class BaseReadModel implements ReadModel { readonly id: string; readonly data: TData; private _version; private _lastUpdated; constructor(id: string, data: TData, version?: number); get lastUpdated(): Date; get version(): number; update(newData: Partial): void; incrementVersion(): void; }