import { BehaviorSubject } from 'rxjs'; import { BasicModel } from './basic'; import { ValidateOption } from '../validate'; import { FIELD_ID } from './is'; import type { FieldBuilder } from '../builders'; export interface INormalizeBeforeSubmit { (a: A): B; } declare class FieldModel extends BasicModel { private readonly defaultValue; [FIELD_ID]: boolean; protected readonly _displayName = "FieldModel"; readonly _value$: BehaviorSubject; readonly _valid$: BehaviorSubject; readonly builder?: FieldBuilder; isTouched: boolean; isCompositing: boolean; normalizeBeforeSubmit: INormalizeBeforeSubmit; owner: BasicModel | null; constructor(defaultValue: Value); get value$(): BehaviorSubject; get valid$(): BehaviorSubject; _getValue$(): BehaviorSubject; _getValid$(): BehaviorSubject; reset(): void; clear(): void; clearError(): void; initialize(value: Value): void; getRawValue(): Value; getSubmitValue(): any; validate(option?: ValidateOption): Promise>; patchValue(value: Value): void; pristine(): boolean; dirty(): boolean; touched(): boolean; dispose(): void; } export { FieldModel };