import { Mapping } from './Mapping' ; import { Scope } from './Scope' ; export interface EntityInterface { param mapping setMapping ? ( mapping ) : void ; beforeCreate ? ( entityManager ) : Promise < any > | void ; afterCreate ? ( entityManager ) : Promise < any > | void ; beforeUpdate ? ( values , entityManager ) : Promise < any > | void ; afterUpdate ? ( entityManager ) : Promise < any > | void ; beforeRemove ? ( entityManager ) : Promise < any > | void ; afterRemove ? ( entityManager ) : Promise < any > | void ; [ key ] : any ; } export interface ProxyInterface extends EntityInterface { isEntityProxy ? : boolean ; activateProxying ? ( ) : ProxyInterface ; deactivateProxying ? ( ) : ProxyInterface ; getTarget ? ( ) : EntityInterface ; isProxyingActive ? ( ) : boolean ; [ key ] : any ; } export type EntityCtor < T > = new ( ... args ) => T ;