import { makeDecorator } from "reflect-helper" ; import { Constructor , ParameterlessConstructor } from "../../index" ; import { EntityAnnotation , EmbeddableAnnotation , ConverterAnnotation , CollectionAnnotation , IndexAnnotation , VersionFieldAnnotation , VersionedAnnotation , ChangeTrackingAnnotation , DiscriminatorFieldAnnotation , DiscriminatorValueAnnotation , CascadeAnnotation , InverseOfAnnotation , TypeAnnotation , ElementTypeAnnotation , MapKeyAnnotation , FieldAnnotation , IdentityAnnotation , EnumeratedAnnotation , FieldDescription , CollectionDescription , ClassIndexDescription , PropertyIndexDescription , TransientAnnotation , ImmutableAnnotation , FetchAnnotation , ParentAnnotation } from "./annotations" ; import { PropertyConverter , FetchType } from "../mappingModel" ; import { ChangeTrackingType } from "../mappingModel" ; import { CascadeFlags } from "../mappingModel" ; import { IdentityGenerator } from "../../config/configuration" ; Entity export declare function Entity ( ) ; Embeddable export declare function Embeddable ( ) ; Converter Converter Embeddable Converter Converter export declare function Converter ( converter ) ; /**
 * Specifies the IdentityGenerator to use for a class.
 */ export declare function Identity ( identity ) ; Collection Entity export declare function Collection ( name ) ; Collection Entity export declare function Collection ( description ? ) ; Embeddable Immutable Field Field export declare function Immutable ( ) ; Entity Index Field Field export declare function Index ( description ) ; Entity Index export declare function Index ( description ? ) ; Entity VersionField export declare function VersionField ( name ) ; Entity Versioned export declare function Versioned ( enabled ? ) ; Entity ChangeTracking export declare function ChangeTracking ( type ) ; Entity DiscriminatorField export declare function DiscriminatorField ( name ) ; Entity Entity DiscriminatorValue Entity DiscriminatorValue export declare function DiscriminatorValue ( value ) ; Entity Field export declare function Field ( name ? ) ; Entity Field export declare function Field ( description ) ; Entity ElementType Embeddable Parent export declare function Parent ( ) ; Entity Enumerated export declare function Enumerated ( members ) ; /**
 * Specifies that a property is the inverse side of a entity reference.
 *
 * ### Example
 *
 * In the example below, the reference is stored on the `patient` property of the `Admission` entity.
 *
 * ```typescript
 * @Entity()
 * export class Patient {
 *
 *     @InverseOf("patient")
 *     @ElementType(Admission)
 *     admissions: Admission[];
 *     ...
 * }
 *
 * @Entity()
 * export class Admission {
 *
 *     @Field()
 *     patient: Patient;
 *     ...
 * }
 *
 * ...
 * session.fetch(patient.admissions, (err, admissions) => {
 *      ...
 * });
 * ```
 *
 * In the example below, the references are stored on the `admissions` property of the `Patient` entity.
 *
 * ```typescript
 * @Entity()
 * export class Patient {
 *
 *     @ElementType(Admission)
 *     admissions: Admission[];
 *     ...
 * }
 *
 * @Entity()
 * export class Admission {
 *
 *     @InverseOf("admissions")
 *     patient: Patient;
 *     ...
 * }
 *
 * ...
 * session.fetch(admission.patient, (err, patient) => {
 *      ...
 * });
 * ```
 */ export declare function InverseOf ( propertyName ) ; Entity Cascade export declare function Cascade ( flags ) ; Entity Fetch Entity Fetch export declare function Fetch ( type ) ; Entity Type export declare function Type ( target ) ; Entity ElementType export declare function ElementType ( target ) ; hidden export declare function MapKey ( propertyName ) ; Entity Transient SomeOtherDecorator export declare function Transient ( ) ; exports . Entity = makeDecorator ( EntityAnnotation ) ; exports . Embeddable = makeDecorator ( EmbeddableAnnotation ) ; exports . Converter = makeDecorator ( ConverterAnnotation ) ; exports . Collection = makeDecorator ( CollectionAnnotation ) ; exports . Index = makeDecorator ( IndexAnnotation ) ; exports . VersionField = makeDecorator ( VersionFieldAnnotation ) ; exports . Versioned = makeDecorator ( VersionedAnnotation ) ; exports . ChangeTracking = makeDecorator ( ChangeTrackingAnnotation ) ; exports . DiscriminatorField = makeDecorator ( DiscriminatorFieldAnnotation ) ; exports . DiscriminatorValue = makeDecorator ( DiscriminatorValueAnnotation ) ; exports . Field = makeDecorator ( FieldAnnotation ) ; exports . Parent = makeDecorator ( ParentAnnotation ) ; exports . Enumerated = makeDecorator ( EnumeratedAnnotation ) ; exports . Cascade = makeDecorator ( CascadeAnnotation ) ; exports . Fetch = makeDecorator ( FetchAnnotation ) ; exports . InverseOf = makeDecorator ( InverseOfAnnotation ) ; exports . Type = makeDecorator ( TypeAnnotation ) ; exports . ElementType = makeDecorator ( ElementTypeAnnotation ) ; exports . MapKey = makeDecorator ( MapKeyAnnotation ) ; exports . Immutable = makeDecorator ( ImmutableAnnotation ) ; exports . Transient = makeDecorator ( TransientAnnotation ) ; exports . Identity = makeDecorator ( IdentityAnnotation ) ;