import { Class } from '../common-types'; import { Entity } from '../model'; export declare enum RelationType { belongsTo = 0, hasOne = 1, hasMany = 2, embedsOne = 3, embedsMany = 4, referencesOne = 5, referencesMany = 6, } export declare const RELATION_KEY = "loopback:relation"; export declare class RelationMetadata { type: RelationType; target: string | Class; as: string; } /** * Decorator for relations * @param definition * @returns {(target:any, key:string)} */ export declare function relation(definition?: Object): (target: any, key: string) => void; /** * Decorator for belongsTo * @param definition * @returns {(target:any, key:string)} */ export declare function belongsTo(definition?: Object): (target: any, key: string) => void; /** * Decorator for hasOne * @param definition * @returns {(target:any, key:string)} */ export declare function hasOne(definition?: Object): (target: any, key: string) => void; /** * Decorator for hasMany * @param definition * @returns {(target:any, key:string)} */ export declare function hasMany(definition?: Object): (target: any, key: string) => void; /** * Decorator for embedsOne * @param definition * @returns {(target:any, key:string)} */ export declare function embedsOne(definition?: Object): (target: any, key: string) => void; /** * Decorator for embedsMany * @param definition * @returns {(target:any, key:string)} */ export declare function embedsMany(definition?: Object): (target: any, key: string) => void; /** * Decorator for referencesOne * @param definition * @returns {(target:any, key:string)} */ export declare function referencesOne(definition?: Object): (target: any, key: string) => void; /** * Decorator for referencesMany * @param definition * @returns {(target:any, key:string)} */ export declare function referencesMany(definition?: Object): (target: any, key: string) => void;