import type { AnyEntity } from '../typings.js'; import { ChangeSet } from './ChangeSet.js'; import { type Collection } from '../entity/Collection.js'; import type { EntityManager } from '../EntityManager.js'; /** @internal Computes change sets by comparing entity state against original snapshots. */ export declare class ChangeSetComputer { #private; constructor(em: EntityManager, collectionUpdates: Set>); /** Computes a change set for the given entity by diffing against its original state. */ computeChangeSet(entity: T): ChangeSet | null; /** * Traverses entity graph and executes `onCreate` and `onUpdate` methods, assigning the values to given properties. */ private processPropertyInitializers; private computePayload; private processProperty; private processToOne; private processToMany; }