import { Constructor } from '../types'; import { TransformFnParams } from 'class-transformer'; /** * 扩展的TransformFnParams,包含context */ export interface ExtendedTransformFnParams extends TransformFnParams { context?: any; } /** * DTO服务装饰器 - 标记可以在DTO中使用的服务 */ export declare const DTO_SERVICE_KEY = "dto:service-name"; export declare function DtoService(serviceName?: string): ClassDecorator; /** * 使用服务装饰器 - 在DTO类中声明需要的服务 */ export declare const DTO_REQUIRED_SERVICES_KEY = "dto:required-services"; export declare function UseServices(...serviceTokens: Array>): ClassDecorator; /** * DTO类装饰器 - 标记这是一个DTO类并关联到Entity */ export declare const DTO_ENTITY_KEY = "dto:entity"; export declare function Dto(entityClass: Constructor): ClassDecorator; /** * DTO字段装饰器 - 类似@Column,用于DTO类 */ export interface DtoFieldOptions { source?: string; transform?: (value: any) => any; } export declare function DtoField(source?: string, transform?: (value: any) => any): PropertyDecorator; export declare function DtoField(options?: DtoFieldOptions): PropertyDecorator; /** * DTO计算字段装饰器 - 用于需要计算的复杂字段 */ export declare function DtoComputed(computeFn: (entity: any, context?: any) => any): PropertyDecorator;