import { Reference } from "./reference" ; export { NamingStrategies , NamingStrategy } from "./config/namingStrategies" ; export { PersistenceError , EntityNotFoundError } from "./persistenceError" ; export { CascadeFlags , ChangeTrackingType , FlushPriority , FetchType } from "./mapping/mappingModel" ; export { Configuration } from "./config/configuration" ; export { ObjectIdGenerator } from "./config/objectIdGenerator" ; export { AnnotationMappingProvider } from "./mapping/providers/annotationMappingProvider" ; export { CollationOptions } from "./mapping/collationOptions" ; export * from "./mapping/providers/decorators" ; export { Callback , ResultCallback , IteratorCallback } from "./core/callback" ; export { IdentityGenerator , PropertyConverter } from "./config/configuration" ; export { Session } from "./session" ; export { SessionFactory } from "./sessionFactory" ; export { Query , QueryBuilder , CountQuery , FindQuery , FindOneQuery , FindOneAndUpdateQuery , FindOneAndRemoveQuery , QueryDocument , } from "./query/queryBuilder" ; export interface Constructor < T > { name ? : string ; new ( ... args ) : T ; } export interface ParameterlessConstructor < T > { name ? : string ; new ( ) : T ; } param value1 param value2 export function areEqual ( value1 , value2 ) { return Reference . areEqual ( value1 , value2 ) ; }