import { ValueDispatcher } from '../events'; import { MetaField } from './MetaField'; export type ValueOf> = { [K in keyof T]: T[K] extends MetaField ? P : never; }; type TransformationOf, TKey extends CallableKeys>> = { [K in keyof TObject]: TObject[K] extends MetaField ? ReturnType[TKey]> : never; }; type CallableKeys = { [K in keyof T]: T[K] extends () => void ? K : never; }[keyof T]; declare class ObjectMetaFieldInternal>> extends MetaField> { readonly type: ObjectConstructor; /** * Triggered when the nested fields change. * * @eventProperty */ get onFieldsChanged(): import("../events").SubscribableValueEvent[]>; protected ignoreChange: boolean; protected customFields: Record; protected readonly fields: Map>; protected readonly event: ValueDispatcher[]>; constructor(name: string, fields: T); set(value: Partial>): void; serialize(): ValueOf; clone(): this; protected handleChange: () => void; protected transform>>(fn: TKey): TransformationOf; } /** * Represents an object with nested meta-fields. */ export type ObjectMetaField>> = ObjectMetaFieldInternal & T; /** * Represents an object with nested meta-fields. */ export declare const ObjectMetaField: new >>(name: string, data: T) => ObjectMetaField; export {}; //# sourceMappingURL=ObjectMetaField.d.ts.map