/** * Agentic QE v3 - Base Entity * Foundation for all domain entities */ export interface EntityProps { id?: string; createdAt?: Date; updatedAt?: Date; } export declare abstract class BaseEntity { protected readonly _id: string; protected readonly _createdAt: Date; protected _updatedAt: Date; protected props: T; constructor(props: T); get id(): string; get createdAt(): Date; get updatedAt(): Date; protected touch(): void; equals(other: BaseEntity): boolean; } /** * Aggregate Root - Entry point to an aggregate */ export declare abstract class AggregateRoot extends BaseEntity { private _domainEvents; protected addDomainEvent(event: DomainEventRecord): void; pullDomainEvents(): DomainEventRecord[]; hasDomainEvents(): boolean; } interface DomainEventRecord { type: string; payload: unknown; timestamp: Date; } export {}; //# sourceMappingURL=base-entity.d.ts.map