import * as React from 'react'; import { TooltipProps } from '../Tooltip'; import { TooltipCommonProps } from '../common'; export type InputValue = string | number | undefined; export type MinValue = number | undefined; export type MaxValue = number | undefined; export interface InputProps { children?: React.ReactNode; dataHook?: string; className?: string; id?: string; ariaControls?: string; ariaDescribedby?: string; ariaLabel?: string; autoFocus?: boolean; autoSelect?: boolean; autocomplete?: string; defaultValue?: InputValue; disabled?: boolean; status?: InputStatus; statusMessage?: React.ReactNode; hideStatusSuffix?: boolean; forceFocus?: boolean; forceHover?: boolean; maxLength?: number; menuArrow?: boolean; clearButton?: boolean; focusOnClearClick?: boolean; name?: string; border?: 'standard' | 'round' | 'bottomLine' | 'none'; noLeftBorderRadius?: boolean; noRightBorderRadius?: boolean; onBlur?: React.FocusEventHandler; onChange?: React.ChangeEventHandler; onClear?: React.MouseEventHandler; onCompositionChange?: (isComposing: boolean) => void; onEnterPressed?: React.KeyboardEventHandler; onEscapePressed?: React.KeyboardEventHandler; onFocus?: (e?: React.FocusEvent) => void; onInputClicked?: React.MouseEventHandler; onKeyDown?: React.KeyboardEventHandler; onKeyUp?: React.KeyboardEventHandler; onPaste?: React.ClipboardEventHandler; placeholder?: string; prefix?: React.ReactNode; readOnly?: boolean; disableEditing?: boolean; rtl?: boolean; size?: InputSize; suffix?: React.ReactNode; tabIndex?: number; textOverflow?: 'clip' | 'ellipsis'; tooltipPlacement?: TooltipProps['placement']; type?: string; value?: string | number; withSelection?: boolean; required?: boolean; min?: MinValue; max?: MaxValue; step?: number; customInput?: React.ReactNode | Function; pattern?: string; inputRef?: (input: HTMLInputElement) => void; inputmode?: string; ariaRoledescription?: string; clearButtonTooltipContent?: React.ReactNode; clearButtonTooltipProps?: TooltipCommonProps; } export type InputStatus = | InputStatusError | InputStatusWarning | InputStatusLoading; export type InputStatusError = 'error'; export type InputStatusLoading = 'loading'; export type InputStatusWarning = 'warning'; export type InputSize = 'tiny' | 'small' | 'medium' | 'large'; declare const Ticker: React.FC; interface TickerProps { onUp?: React.MouseEventHandler; onDown?: React.MouseEventHandler; upDisabled?: boolean; downDisabled?: boolean; onMouseDown?: React.MouseEventHandler; dataHook?: string; } interface IconAffixProps { children?: React.ReactNode; dataHook?: string; } declare const IconAffix: React.FC; interface AffixProps { children?: React.ReactNode; value?: string; } declare const Affix: React.FC; interface AffixProps { children?: React.ReactNode; value?: string; } declare const Group: React.FC; export default class Input extends React.Component { static Ticker: typeof Ticker; static IconAffix: typeof IconAffix; static Affix: typeof Affix; static Group: typeof Group; static StatusError: InputStatusError; static StatusLoading: InputStatusLoading; static StatusWarning: InputStatusWarning; clear: (event?: React.ChangeEvent) => void; blur: () => void; focus: HTMLElement['focus']; select: () => void; setSelectionRange: (start: number, end: number) => void; }