import { IType } from '../types/Type'; import { IdentifierCache } from './IdentifierCache'; import { IDisposer } from '../utils'; import { IMiddlewareHandler } from './Action'; import { default as Validator } from './Validator'; import { INode } from './interface'; import { BaseNode } from './BaseNode'; import { IJsonPatch } from './NodeUtils'; export declare class ObjectNode extends BaseNode { middlewares: IMiddlewareHandler[]; isProtectionEnabled: boolean; identifierCache: IdentifierCache | undefined; identifierAttribute: string | undefined; _isRunningAction: boolean; private snapshotSubscribers; applyPatches: (patches: IJsonPatch[]) => void; constructor({type, parent, subpath, environment, initialValue, storedValue, canAttachTreeNode, finalizeNewInstance}: { type: any; parent: any; subpath: any; environment: any; initialValue: any; storedValue: any; canAttachTreeNode: any; finalizeNewInstance: any; }); protected preboot(): void; readonly validator: Validator; readonly identifier: string | null; readonly root: ObjectNode; assertAlive(): void; addMiddleWare(handler: IMiddlewareHandler): IDisposer; applyPatchLocally(subpath: string, patch: IJsonPatch): void; onSnapshot(onChange: (snapshot: any) => void): IDisposer; emitSnapshot(snapshot: any): void; isRunningAction(): boolean; readonly hasNestedFields: boolean; getChildren(): this[]; getChildField(subpath: string): this; getChildType(key: string): IType; readonly isProtected: boolean; assertWritable(): void; protected _getValue(): any; die(keepSnapshot?: boolean): void; protected aboutToDie(): void; protected finalizeDeath(keepSnapshot?: boolean): void; setParent(newParent: this | null, subpath?: string | null): void; removeChild(subpath: string): void; detach(): void; unbox(childNode: INode): any; fireHook(name: string): void; value: any; protected updateStoredValue(val: any, emitPath?: boolean): void; toJSON(): any; }