import type { HTMLAttributes, HTMLInputAttributes, HTMLLabelAttributes, HTMLSelectAttributes, HTMLTextareaAttributes } from 'svelte/elements'; import type { Accessor } from '../types.js'; interface ElementIds { root?: string; label?: string; control?: string; errorText?: string; helperText?: string; requiredIndicator?: string; } export interface CreateFieldProps { id: string; ids?: ElementIds; invalid?: boolean; required?: boolean; disabled?: boolean; readOnly?: boolean; } export interface CreateFieldReturn { ids: ElementIds; disabled: boolean; required: boolean; readOnly: boolean; invalid: boolean; 'aria-describedby': string; getRootProps(): HTMLAttributes; getLabelProps(): HTMLLabelAttributes; getErrorTextProps(): HTMLAttributes; getHelperTextProps(): HTMLAttributes; getInputProps(): HTMLInputAttributes; getSelectProps(): HTMLSelectAttributes; getTextareaProps(): HTMLTextareaAttributes; getRequiredIndicatorProps(): HTMLAttributes; } export declare function createField(props: Accessor): Accessor; export {};