import React from 'react'; import { IconComponent, IconPropSize } from '../../icons/_Icon/Icon'; import { AutoCompete } from '../../utils/types/AutoComplete'; import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes'; export declare type TextFieldPropValue = string | null; export declare type TextFieldPropName = string; export declare type TextFieldPropId = string | number; export declare const textFieldPropSize: readonly ["m", "xs", "s", "l"]; export declare type TextFieldPropSize = typeof textFieldPropSize[number]; export declare const textFieldPropSizeDefault: TextFieldPropSize; export declare type TextFieldPropOnChange = (args: TextFieldOnChangeArguments) => void; export declare type TextFieldOnChangeArguments = { e: React.ChangeEvent | React.MouseEvent; id?: TextFieldPropId; name?: TextFieldPropName; value: TextFieldPropValue; }; export declare const textFieldPropView: readonly ["default", "clear"]; export declare type TextFieldPropView = typeof textFieldPropView[number]; export declare const textFieldPropViewDefault: TextFieldPropView; export declare const textFieldPropForm: readonly ["default", "defaultClear", "defaultBrick", "brick", "brickDefault", "brickClear", "brickRound", "round", "roundClear", "roundBrick", "clearRound", "clearDefault", "clearBrick", "clearClear"]; export declare type TextFieldPropForm = typeof textFieldPropForm[number]; export declare const textFieldPropFormDefault: TextFieldPropForm; export declare const textFieldPropStatus: readonly ["error", "success", "warning"]; export declare type TextFieldPropStatus = typeof textFieldPropStatus[number]; export declare const textFieldPropWidth: readonly ["default", "full"]; export declare type TextFieldPropWidth = typeof textFieldPropWidth[number]; export declare const textFieldPropWidthDefault: TextFieldPropWidth; export declare type TextFieldPropsTextareaType = TYPE extends 'textarea' ? { minRows?: never; maxRows?: never; rows?: number; } | { rows?: never; minRows?: number; maxRows?: number; } : { rows?: never; minRows?: never; maxRows?: never; }; export declare type TextFieldPropRightSide = TYPE extends 'number' | 'password' ? { rightSide?: never; } : { rightSide?: string | IconComponent; }; export declare type TextFieldProps = PropsWithHTMLAttributes<{ className?: string; value?: TextFieldPropValue; cols?: number; onChange?: TextFieldPropOnChange; id?: TextFieldPropId; name?: TextFieldPropName; type?: TYPE; disabled?: boolean; maxLength?: number; size?: TextFieldPropSize; view?: TextFieldPropView; form?: TextFieldPropForm; state?: TextFieldPropStatus; status?: TextFieldPropStatus; width?: TextFieldPropWidth; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; autoFocus?: boolean; placeholder?: string; leftSide?: string | IconComponent; rightSide?: string | IconComponent; withClearButton?: boolean; autoComplete?: AutoCompete; max?: number | string; min?: number | string; readOnly?: boolean; required?: boolean; step?: number | string; tabIndex?: number; inputContainerRef?: React.Ref; inputRef?: React.Ref; ariaLabel?: string; iconSize?: IconPropSize; children?: never; label?: string; caption?: string; labelPosition?: 'top' | 'left' | 'bottom' | 'right'; focused?: boolean; }, HTMLDivElement> & TextFieldPropsTextareaType & TextFieldPropRightSide; export declare type TextFieldComponent = (props: TextFieldProps & React.RefAttributes) => React.ReactElement | null; export declare const sizeMap: Record; export declare const getTypeForRender: (type: string, passwordVible: boolean) => string;