import { EntityManager } from '../EntityManager'; import { AnyEntity, Dictionary, EntityData, EntityMetadata, Populate, Primary } from '../typings'; import { IdentifiedReference } from './Reference'; import { AssignOptions } from './EntityAssigner'; import { LockMode } from '../enums'; import { Platform } from '../platforms/Platform'; export declare class WrappedEntity, PK extends keyof T> { private readonly entity; __initialized: boolean; __populated?: boolean; __lazyInitialized?: boolean; __managed?: boolean; __em?: EntityManager; /** holds last entity data snapshot so we can compute changes when persisting managed entities */ __originalEntityData?: EntityData; /** holds wrapped primary key so we can compute change set without eager commit */ __identifier?: EntityData; constructor(entity: T); isInitialized(): boolean; populated(populated?: boolean): void; toReference(): IdentifiedReference; toObject(ignoreFields?: string[]): EntityData; toJSON(...args: any[]): EntityData & Dictionary; assign(data: EntityData, options?: AssignOptions): T; init

= Populate>(populated?: boolean, populate?: P, lockMode?: LockMode): Promise; hasPrimaryKey(): boolean; get __meta(): EntityMetadata; get __platform(): Platform; get __primaryKey(): Primary; set __primaryKey(id: Primary); get __primaryKeys(): Primary[]; get __serializedPrimaryKey(): Primary | string; }