import { default as React } from 'react'; import { FormValidator } from '../../services/formValidation/index.js'; import { SlotClassNames, SlotStyles, DataProps } from '../types/slots.types.js'; export declare enum InputType { Edit = "edit", Phone = "phone", Email = "email", Iban = "iban", Date = "date", HasNoIcon = "hasNoIcon", Search = "searchInput", Password = "password" } export declare enum InputIconPosition { Left = "left", Right = "right" } export type InputSlots = 'label' | 'container' | 'input' | 'suffix' | 'upperRightLabel' | 'fieldset'; type OverriddenInputAttributes = 'onChange' | 'onFocus' | 'onBlur' | 'onMouseEnter' | 'onMouseLeave' | 'onClick' | 'type' | 'value' | 'min' | 'max' | 'autoComplete'; /** Text Input renders of its own, for translating it. */ export interface InputLabels { /** Clear button on a search input, read out by screen readers. */ clear?: string; /** Reveals a password, read out by screen readers. */ showPassword?: string; /** Hides a password again. */ hidePassword?: string; /** Clears a search input, read out by screen readers. */ clearSearch?: string; } export interface InputProps extends Omit, OverriddenInputAttributes>, DataProps { onMouseEnter?: ((event: React.MouseEvent) => void) | null; onMouseLeave?: ((event: React.MouseEvent) => void) | null; onFocus?: ((event: React.FocusEvent) => void) | null; onBlur?: ((event: React.FocusEvent) => void) | null; onChange?: ((value: string, event?: React.ChangeEvent) => void) | null; errorMessage?: string; isValid?: boolean; isRequired?: boolean; label?: string; name?: string; className?: string; style?: React.CSSProperties; value?: string | number; icon?: React.ReactElement | null; iconPosition?: InputIconPosition; isUppercase?: boolean; isRow?: boolean; tabIndex?: number; type?: InputType; onIconClick?: (() => void) | null; parse?: ((value: string) => string) | null; suffix?: string | React.ReactNode; disabled?: boolean; upperRightLabel?: string | React.ReactNode; labelInBorder?: boolean; /** Show a button that clears the field, whenever it has a value it can change. */ clearable?: boolean; /** Called after a clear button empties the field, by click or key. */ onClear?: (() => void) | null; min?: string | number | null; max?: string | number | null; placeholder?: string; useMatLabelStyle?: boolean; alwaysFloatLabel?: boolean; autoComplete?: string | null; onClick?: (() => void) | null; readOnly?: boolean; customInput?: React.ReactElement | null; autoFocus?: boolean; formValidator?: FormValidator | null; multiline?: boolean; rows?: number; autoResize?: boolean; /** * Ref to the rendered `` (or `