import type { EntityData, EntityMetadata, EntityDictionary, Primary } from '../typings.js'; /** Represents a pending change (create, update, or delete) for a single entity. */ export declare class ChangeSet { entity: T; type: ChangeSetType; payload: EntityDictionary; meta: EntityMetadata; private primaryKey?; private serializedPrimaryKey?; constructor(entity: T, type: ChangeSetType, payload: EntityDictionary, meta: EntityMetadata); /** Returns the primary key of the entity, optionally as an object for composite keys. */ getPrimaryKey(object?: boolean): Primary | null; /** Returns the serialized (string) form of the primary key. */ getSerializedPrimaryKey(): string | null; } export interface ChangeSet { meta: EntityMetadata; rootMeta: EntityMetadata; schema?: string; type: ChangeSetType; entity: T; payload: EntityDictionary; persisted: boolean; originalEntity?: EntityData; /** For TPT: changesets for parent tables, ordered from immediate parent to root */ tptChangeSets?: ChangeSet[]; } /** Enumeration of change set operation types. */ export declare enum ChangeSetType { CREATE = "create", UPDATE = "update", DELETE = "delete", UPDATE_EARLY = "update_early", DELETE_EARLY = "delete_early" }