import { IObjectType, ConcurrencyModel } from "../Common/Type"; import { IColumnMetaData } from "./Interface/IColumnMetaData"; import { IRelationMetaData } from "./Interface/IRelationMetaData"; import { IIndexMetaData } from "./Interface/IIndexMetaData"; import { IConstraintMetaData } from "./Interface/IConstraintMetaData"; import { IEntityMetaData } from "./Interface/IEntityMetaData"; import { InheritanceMetaData } from "./Relation/InheritanceMetaData"; import { ISaveEventParam } from "./Interface/ISaveEventParam"; import { IDeleteEventParam } from "./Interface/IDeleteEventParam"; import { RowVersionColumnMetaData } from "./RowVersionColumnMetaData"; import { BooleanColumnMetaData } from "./BooleanColumnMetaData"; import { DateTimeColumnMetaData } from "./DateTimeColumnMetaData"; import { IOrderQueryDefinition } from "../Queryable/Interface/IOrderQueryDefinition"; import { EmbeddedRelationMetaData } from "./EmbeddedColumnMetaData"; export declare class EntityMetaData implements IEntityMetaData { type: IObjectType; schema: string; name: string; defaultOrders?: IOrderQueryDefinition[]; primaryKeys: Array>; deletedColumn: BooleanColumnMetaData; createDateColumn: DateTimeColumnMetaData; modifiedDateColumn: DateTimeColumnMetaData; versionColumn?: RowVersionColumnMetaData; columns: IColumnMetaData[]; indices: IIndexMetaData[]; constraints: IConstraintMetaData[]; relations: IRelationMetaData[]; embeds: EmbeddedRelationMetaData[]; concurrencyMode: ConcurrencyModel; descriminatorMember: string; readonly allowInheritance: boolean; inheritance: InheritanceMetaData; readonly priority: number; readonly hasIncrementPrimary: boolean; constructor(type: IObjectType, name?: string); applyOption(entityMeta: IEntityMetaData): void; readonly insertGeneratedColumns: IColumnMetaData[]; readonly updateGeneratedColumns: IColumnMetaData[]; beforeSave?: (entity: TE, param: ISaveEventParam) => boolean; beforeDelete?: (entity: TE, param: IDeleteEventParam) => boolean; afterLoad?: (entity: TE) => void; afterSave?: (entity: TE, param: ISaveEventParam) => void; afterDelete?: (entity: TE, param: IDeleteEventParam) => void; }