import { IType } from '../types/Type'; import { IDisposer } from '../utils'; import { ValidatOptions, ValidatObj, default as Validator } from './Validator'; import { INode } from './interface'; import { ObjectNode } from './ObjectNode'; import { NodeLifeCycle, IReversibleJsonPatch } from './NodeUtils'; export declare abstract class BaseNode implements INode { readonly nodeId: number; readonly type: IType; protected _storedValue: any; protected _parent: ObjectNode | null; protected _autoUnbox: boolean; protected _isAlive: boolean; protected _isDetaching: boolean; applySnapshot: (snapshot: any) => void; readonly patchSubscribers: ((patches: IReversibleJsonPatch) => void)[]; readonly disposers: (() => void)[]; private statePropChangedSubscribers; _environment: any; subpath: string; state: NodeLifeCycle; validators: any; $validating: boolean; readonly validationFunctionsData: Array; protected $validator: Validator; private _debouncedValidation; private _validateOnBlur; private _validateOnChange; private _showErrorsOnBlur; private _showErrorsOnChange; private _showErrorsOnSubmit; private _submitThrowsError; protected _initialValue: any; private _resetValidationFlag; constructor(type: IType); abstract setParent(newParent: ObjectNode, subpath?: string): void; readonly typeName: string; readonly boxValue: any; protected _getBoxValue(): any; readonly isAlive: boolean; readonly path: string; readonly isRoot: boolean; readonly parent: ObjectNode | null; readonly root: ObjectNode; readonly form: ObjectNode; die(keepSnapshot?: boolean): void; readonly name: string; protected removeStatsProps(): void; getChildren(): this[]; getChildField(subpath: string): this; getChildType(key: string): IType; readonly hasNestedFields: boolean; value: any; each(iteratee: (field: this, index: number, depth: number) => any, fields?: any, depth?: number): void; $(path: string): this; select(path: string, parent?: this, isStrict?: boolean): this; readonly extra: any; readonly hasError: any; readonly checkValidationErrors: any; errors(): any; values(): any; readonly snapshot: any; protected _getSnapshot(): any; get(prop?: string, strict?: boolean): any; deepGet(prop: any, fields: this[]): any; check(prop: string, deep?: boolean): any; deepCheck(type: string, prop: string, fields: this[]): any; set(prop: any, value?: any): void; sync(e: any, v?: any): void; syncValue(val: any): void; readonly validator: Validator; validate(opt?: ValidatOptions, obj?: ValidatObj): Promise; showAsyncErrors(): void; showErrors(show?: boolean): void; resetValidation(deep?: boolean): void; invalidate(message?: any, async?: boolean): void; protected _getError(): any; protected _getChanged(): boolean; protected hasStateProp(name: string, checkOnly?: boolean): boolean; protected getStateProp(name: string, defaultValue?: any): any; protected setStateProp(name: string, val: any, requireExists?: boolean): boolean; protected removeStateProp(name: string): void; readonly isDirty: boolean; readonly isEmpty: boolean; changed: boolean; label: string; placeholder: string; disabled: boolean; visible: boolean; focused: boolean; readonly validating: boolean; showError: boolean; errorSync: any; errorAsync: any; readonly validationAsyncData: { valid?: boolean; message?: string; }; setValidationAsyncData(valid?: boolean, message?: string): void; updateResetValidationFlag(): void; validationErrorStack: Array; submitting: boolean; readonly error: any; validateOnBlur: boolean | null | undefined; validateOnChange: boolean | null | undefined; showErrorsOnChange: boolean | null | undefined; showErrorsOnBlur: boolean | null | undefined; showErrorsOnSubmit: boolean | null | undefined; readonly submitThrowsError: boolean; readonly validationDebounceWait: number; storedValue: any; protected updateStoredValue(val: any, emitPath?: boolean): void; protected readonly debouncedValidation: any; initialValue: any; focus(): void; onFocus(): void; onBlur(): void; submit(o?: { onSuccess?: (obj?: ObjectNode) => any; onError?: (obj?: ObjectNode) => any; }): Promise; reset(deep?: boolean): void; private resetField(); private fireValueChange(field, oldValue, newValue); addDisposer(disposer: () => void): void; onPatch(onPatch: (patch: IReversibleJsonPatch) => void, includeOldValue?: boolean): IDisposer; emitPatch(patch: IReversibleJsonPatch, source: INode): void; onStatePropChanged(prop: string, changed: (value: any) => void): IDisposer; protected emitStatePropChanged(prop: string, value: any): void; }