import { EntityId } from './EntityId'; export declare abstract class Entity> { protected readonly _id: H; protected props: T; protected _snapshot: string; snapshot(): T; isDirty(): boolean; protected constructor(props: T, id?: H | E); equals(object?: Entity): boolean; get id(): H; toPrimitive(): T; toJSON(): any; toSnapshot(): any; }