/** * State Schema Decorators - TypeScript Experimental Decorators * * 使用 TS 实验性装饰器(experimentalDecorators)以保证 Node.js 运行时兼容性 */ import 'reflect-metadata'; import { FieldType, FieldMetadata } from '../types.js'; /** * @Field - 定义一个可序列化的字段 * * @example * ```typescript * class Player { * @Field('string') name: string = ''; * @Field('number') health: number = 100; * @Field('boolean') isAlive: boolean = true; * } * ``` */ export declare function Field(type: FieldType, optional?: boolean): (target: any, propertyKey: string) => void; /** * @MapField - 定义一个 Map 集合字段 * * @example * ```typescript * class GameState { * @MapField(Player) players = new Map(); * } * ``` */ export declare function MapField(valueType: Function): (target: any, propertyKey: string) => void; /** * @ArrayField - 定义一个 Array 集合字段 * * @example * ```typescript * class GameState { * @ArrayField('number') scores: number[] = []; * @ArrayField(Item) inventory: Item[] = []; * } * ``` */ export declare function ArrayField(type: FieldType): (target: any, propertyKey: string) => void; /** * @SetField - 定义一个 Set 集合字段 * * @example * ```typescript * class GameState { * @SetField('string') activePlayers = new Set(); * } * ``` */ export declare function SetField(type: FieldType): (target: any, propertyKey: string) => void; /** * 获取类的所有字段元数据 */ export declare function getFieldsMetadata(target: any): Map; /** * 检查对象是否有 State 装饰器定义 */ export declare function hasStateMetadata(target: any): boolean; //# sourceMappingURL=index.d.ts.map