import * as React from 'react'; import { TooltipProps } from '../Tooltip'; import {PropsWithChildren} from "react"; export interface InputProps { dataHook?: string; className?: string; id?: string; ariaControls?: string; ariaDescribedby?: string; ariaLabel?: string; autoFocus?: boolean; autoSelect?: boolean; autocomplete?: string; defaultValue?: string; disabled?: boolean; status?: InputStatus; statusMessage?: React.ReactNode; hideStatusSuffix?: boolean; forceFocus?: boolean; forceHover?: boolean; maxLength?: number; menuArrow?: boolean; clearButton?: boolean; name?: string; border?: 'standard' | 'round' | 'bottomLine'; 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; roundInput?: 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?: number; max?: number; step?: number; customInput?: React.ReactNode | Function; pattern?: string; inputRef?: (input: HTMLInputElement) => void; } export type InputStatus = | InputStatusError | InputStatusWarning | InputStatusLoading; export type InputStatusError = 'error'; export type InputStatusLoading = 'loading'; export type InputStatusWarning = 'warning'; export type InputSize = 'small' | 'medium' | 'large'; declare const Ticker: React.FC>; interface TickerProps { onUp?: React.MouseEventHandler; onDown?: React.MouseEventHandler; upDisabled?: boolean; downDisabled?: boolean; dataHook?: string; } declare class Unit extends React.Component> {} interface UnitProps { value?: string; } declare const IconAffix: React.FC>; interface IconAffixProps { dataHook?: string; } declare const Affix: React.FC>; interface AffixProps { value?: string; } declare const Group: React.FC; export default class Input extends React.Component { static Ticker: typeof Ticker; static Unit: typeof Unit; 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; }