import { IObjectWillChange, IObjectChange } from 'mobx'; import { Property } from './Property'; import { IType } from '../Type'; import { IContext, IValidationResult } from '../type-checker'; import { INode } from '../../core/interface'; export declare class ValueProperty extends Property { type: IType; constructor(propertyName: string, type: IType); initializePrototype(proto: any): void; initialize(instance: any, snapshot: any): void; willChange(change: IObjectWillChange): IObjectWillChange | null; didChange(change: IObjectChange): void; serialize(instance: any, snapshot: any): void; deserialize(instance: any, snapshot: any): void; getValueNode(targetInstance: any): INode; validate(snapshot: any, context: IContext): IValidationResult; }