import 'reflect-metadata';
/**
*
Entity 功能型装饰器:标记实体类。
* @desc Entity Functional Decorator: Mark the entity class.
*
* @desc {类装饰器} 用于启动类型识别,辅助注入 `findByXxx` 方法。
* @desc {Class Decorator} Used for the type recognition and the injection of the `findByXxx` method.
*
* @example
* ```typescript
* @Entity
* class Shop {
* @Id
* shopId: number = 0;
* @Column
* name: string = '';
* @Column
* price: number = 0;
* }
* ```
*/
declare function Entity(target: Function): void;
/**
* Entity 功能型装饰器:标记实体类的属性。
* Entity Functional Decorator: Mark the properties of the entity class.
*
* @desc {属性装饰器} 用于标记实体类的属性,辅助注入 `findByXxx` 方法。
* @desc {Property Decorator} Used to mark the properties of the entity class, and the injection of the `findByXxx` method.
*
* @example
* ```typescript
* @Entity
* class Shop {
* @Id
* shopId: number = 0;
* @Column
* name: string = '';
* @Column
* price: number = 0;
* }
* ```
*/
declare function Column(target: any, propertyKey: string | symbol): void;
/**
* Entity 功能型装饰器:标记实体类的主键。
* Entity Functional Decorator: Mark the primary key of the entity class.
*
* @desc {属性装饰器} 用于标记实体类的主键,辅助注入 `findByXxx` 方法。
* @desc {Property Decorator} Used to mark the primary key of the entity class, and the injection of the `findByXxx` method.
*
* @example
* ```typescript
* @Entity
* class Shop {
* @Id
* shopId: number = 0;
* @Column
* name: string = '';
* @Column
* price: number = 0;
* }
* ```
*/
declare function Id(target: any, propertyKey: string | symbol): void;
/**
* 装饰器:生成 findBy 方法
*/
declare function GenerateFindMethods(entity: any): (target: any) => any;
export { Entity, Column, Id, GenerateFindMethods };