import { IsFlatObject, Noop } from './utils'; import { RegisterOptions } from './validator'; export declare type InternalFieldName = string; export declare type FieldName = IsFlatObject extends true ? Extract : string; export declare type CustomElement = { name: FieldName; type?: string; value?: any; disabled?: boolean; checked?: boolean; options?: HTMLOptionsCollection; files?: FileList | null; focus?: Noop; }; export declare type FieldValue = TFieldValues[InternalFieldName]; export declare type FieldValues = Record; export declare type NativeFieldValue = string | number | boolean | null | undefined | unknown[]; export declare type FieldElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | CustomElement; export declare type Ref = FieldElement; export declare type Field = { _f: { ref: Ref; name: InternalFieldName; refs?: HTMLInputElement[]; mount?: boolean; } & RegisterOptions; }; export declare type FieldRefs = Partial>; //# sourceMappingURL=fields.d.ts.map