import { C as Component, E as Entity, a as ComponentField } from './aspect-1A8HKrkY.cjs'; import './mask.cjs'; /** * Pending fields collected by member decorators, consumed by @RegisterComponent. * Safe because decorator evaluation is synchronous per class. */ declare const pendingFields: ComponentField[]; declare const pendingInitializers: Array<{ initFrom: string; field: string; }>; /** * Register field */ declare function field(_value: undefined, context: ClassFieldDecoratorContext): void; declare const validate: (validateFunction: (val: T) => boolean) => (value: ClassAccessorDecoratorTarget, context: ClassAccessorDecoratorContext) => ClassAccessorDecoratorResult; /** * Initialize field as another field on startup. * Useful for patterns where you have a field that derives from another. * (Example: A 'current' hp value might be initialized from a 'max' hp value. * @param initAsField */ declare function initializeAs(initAsField: string): (_value: undefined, context: ClassFieldDecoratorContext) => void; declare function init(initValue: C): (_value: undefined, context: ClassFieldDecoratorContext) => (initialValue: C) => C; declare function children(value: ClassAccessorDecoratorTarget>, context: ClassAccessorDecoratorContext>): ClassAccessorDecoratorResult>; /** * Mark entity property as parent * @param parentComponentClass Component which will get updated refs to any child entity * @param aggregatePropertyKey Property name of array which will contain all child refs * @returns Decorator */ declare function parent>; }, U extends string>(parentComponentClass: V, aggregatePropertyKey: U): (value: ClassAccessorDecoratorTarget, context: ClassAccessorDecoratorContext) => ClassAccessorDecoratorResult; export { children, field, init, initializeAs, parent, pendingFields, pendingInitializers, validate };