import Model from "../model.js"; import type { RelationOptions, JoinColumnOptions, JoinTableOptions } from "../types.js"; type ObjectType = { new (): T; } | Function; export declare function OneToOne(typeFunctionOrTarget: string | ((type?: any) => ObjectType), inverseSideOrOptions?: string | ((object: T) => any) | RelationOptions, options?: RelationOptions): (target: typeof Model, propertyName: string, descriptor: any) => any; export declare function ManyToOne(typeFunctionOrTarget: string | ((type?: any) => ObjectType), inverseSideOrOptions?: string | ((object: T) => any) | RelationOptions, options?: RelationOptions, type?: "many-to-one" | "one-to-one"): (target: typeof Model, propertyName: string, descriptor: any) => any; export declare function OneToMany(typeFunctionOrTarget: string | ((type?: any) => ObjectType), inverseSideOrOptions: string | ((object: T) => any), options?: RelationOptions): (target: typeof Model, propertyName: string, descriptor: any) => any; export declare function ManyToMany(typeFunctionOrTarget: string | ((type?: any) => ObjectType), inverseSideOrOptions?: string | ((object: T) => any) | RelationOptions, options?: RelationOptions): (target: typeof Model, propertyName: string, descriptor: any) => any; export declare function JoinColumn(optionsOrOptionsArray?: JoinColumnOptions | JoinColumnOptions[]): (target: any, propertyName: string, descriptor: any) => any; export declare function JoinTable(options?: JoinTableOptions): (target: any, propertyName: string, descriptor: any) => any; export declare const HasMany: typeof OneToMany; export declare const BelongsTo: typeof ManyToOne; export declare function HasOne(typeFunctionOrTarget: string | ((type?: any) => ObjectType), inverseSideOrOptions?: string | ((object: T) => any) | RelationOptions, options?: RelationOptions): (target: typeof Model, propertyName: string, descriptor: any) => any; declare const _default: { OneToOne: typeof OneToOne; ManyToOne: typeof ManyToOne; BelongsTo: typeof ManyToOne; OneToMany: typeof OneToMany; HasMany: typeof OneToMany; HasOne: typeof HasOne; ManyToMany: typeof ManyToMany; JoinColumn: typeof JoinColumn; JoinTable: typeof JoinTable; }; export default _default; export declare function proxyToAdapter(decoratorName: any, firstParam?: any, secondParam?: any): (target: any, propertyKey: any, _descriptor: any) => any;