import { FormField } from "./form-field"; import { FormFieldPrepare } from './form-field-prepare'; import { IScope } from "../page/interfaces/scope.interface"; import { Observer } from "../core/observer"; export declare class Form { onSubmit: Observer; private _fields; get fields(): { [field: string]: FormField; }; private _formElement; get formElement(): HTMLFormElement; set formElement(value: HTMLFormElement); private _renderOnInteract; get renderOnInteract(): boolean; set renderOnInteract(value: boolean); private _scope; get scope(): IScope; set scope(value: IScope); private _submitted; get submitted(): boolean; private _isSubmitting; get isSubmitting(): boolean; get isEnabled(): boolean; get isDisabled(): boolean; /** Indicates that you have already entered at least one field and left. */ get blurred(): boolean; /** Indicates that you have already entered at least one field. */ get touched(): boolean; get errors(): { [name: string]: any; } | null; /**Check if all validators from fields is valid and returns a boolean */ get isValid(): boolean; private get listenerCollector(); private _isReseting; get isReseting(): boolean; constructor(fields: { [field: string]: Partial; }); /**Returns form-field by name */ get(fieldName: string): FormField; get value(): any; has(fieldName: string): boolean; hasErrors(): boolean; /**Reset all fields value and clear touched and blurred properties. */ reset(options?: { noNotify?: boolean; noUpdateElement?: boolean; }): this; /**Validates all form and returns a boolean */ validate(): boolean; setTouched(): void; setUntouched(): void; setBlurred(): void; setUnblurred(): void; disable(): void; enable(): void; private setFormListeners; private renderIfNeed; }