/// import { FormControl } from './FormControl'; export declare type FormFieldRawValueGet = undefined | { value: string; valueAsNumber?: number; valueAsDate?: Date | null; files?: FileList | null; checked?: boolean; }; export declare type FormFieldRawValueSet = undefined | null | string | boolean | number | Date | { value: string; } | { valueAsNumber: number; } | { valueAsDate: Date | null; } | { files: FileList | null; } | { checked: boolean; }; export declare type ValueConverter = { get: (value: FormFieldRawValueGet) => T | undefined; set: (value: T | undefined | null) => FormFieldRawValueSet; }; export declare type FormFieldRegisterOptions = { ref?: React.MutableRefObject; required?: boolean; defaultValue?: T; rules?: ((value: FormFieldRawValueGet, element: FormFieldHTMLElement) => string | undefined)[]; inputFilter?: RegExp; valueConverter?: ValueConverter; }; declare type SetValueOptions = { preventValidate?: boolean; }; export declare const formFieldInfo: Record; shouldValidateOnChange?: boolean; }>; export declare type FormFieldHTMLElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | HTMLButtonElement; export declare class FormFieldControl { #private; constructor(name: string, form: FormControl); get props(): { name: string; form: string; ref(el: FormFieldHTMLElement | null): void; }; get type(): string | undefined; get value(): T | undefined; get defaultValue(): T | undefined; get options(): FormFieldRegisterOptions; set options(value: FormFieldRegisterOptions); get isDirty(): boolean; set isDirty(value: boolean); get isTouched(): boolean; set isTouched(value: boolean); get error(): string | null; set error(value: string | null); startUpdate(): void; endUpdate(): void; setValue(value: T | undefined, options?: SetValueOptions): void; setDefaultValue(value: T | undefined, options?: SetValueOptions): void; subscribeToValueChanged(callback: (defer?: boolean) => void): () => void; subscribeToStateChanged(callback: (defer?: boolean) => void): () => void; validate(): boolean; reset(defaultValue?: T): void; focus(): void; } export {};