import type { BaseFieldAttributes } from '../types/FieldAttributes'; import type { PartialFieldInputAttributes, PartialFieldSelectAttributes, PartialFieldOptionAttributes } from '../types/HTMLAttributes'; type ExtendedFieldInputAttributes = BaseFieldAttributes & Omit; type ExtendedFieldSelectAttributes = BaseFieldAttributes & Omit & { type: 'select'; options: Array; }; export type InputBooleanFieldOptions = ExtendedFieldInputAttributes & { tag: 'input'; type: 'checkbox' | 'radio'; }; export type InputStringFieldOptions = ExtendedFieldInputAttributes & { tag: 'input'; type: 'url' | 'text' | 'password' | 'search' | 'tel' | 'email'; }; export type InputNumberFieldOptions = ExtendedFieldInputAttributes & { tag: 'input'; type: 'number'; }; type InputEnumFieldSelectOptions = { tag: 'select'; } & ExtendedFieldSelectAttributes; type InputEnumFieldInputOptions = InputBooleanFieldOptions & { options: Array; }; export type InputEnumFieldOptions = InputEnumFieldSelectOptions | InputEnumFieldInputOptions; export {};