import { Model } from "../model"; export type AnyField = BaseField; export interface SerialMeta { model: Model; networkObject: object; field: BaseField; SKIP: object; } export declare const FieldsSym: unique symbol; export declare function addField(modelMeta: any, k: string, field: BaseField): void; export declare abstract class BaseField> { constructor(ctx: ClassMemberDecoratorContext, options?: O); readonly options: O; readonly propertyName: string; get serializedName(): any; getInstanceMeta(instance: S): M; initializeInstance(inst: S): void; abstract decorate(target: any, context: DecoratorContext): any; abstract serialize(inst: S, object: any, meta: SerialMeta): any; abstract deserialize(inst: S, object: any, meta: SerialMeta): any; }