import { Component } from 'react'; import type { TextInputProps, TextInputState, TextInputStyleProps } from './props'; /** --- category: components tags: form, field --- **/ declare class TextInput extends Component { static displayName: string; static readonly componentId = "TextInput"; static allowedProps: readonly (keyof { renderLabel?: import("@instructure/shared-types").Renderable; type?: 'text' | 'email' | 'url' | 'tel' | 'search' | 'password'; id?: string; value?: string; defaultValue?: string; interaction?: import("@instructure/ui-react-utils").InteractionType; messages?: import("@instructure/ui-form-field/v11_6").FormMessage[]; size?: 'small' | 'medium' | 'large'; textAlign?: 'start' | 'center'; width?: string; htmlSize?: number; display?: 'inline-block' | 'block'; shouldNotWrap?: boolean; placeholder?: string; isRequired?: boolean; elementRef?: (element: Element | null) => void; inputRef?: (inputElement: HTMLInputElement | null) => void; inputContainerRef?: (element: HTMLSpanElement | null) => void; renderBeforeInput?: import("@instructure/shared-types").Renderable; renderAfterInput?: import("@instructure/shared-types").Renderable; onChange?: (event: React.ChangeEvent, value: string) => void; onBlur?: (event: React.FocusEvent) => void; onFocus?: (event: React.FocusEvent) => void; margin?: import("@instructure/emotion").Spacing; })[]; static defaultProps: { type: string; interaction: undefined; isRequired: boolean; display: string; shouldNotWrap: boolean; size: string; textAlign: string; messages: never[]; }; constructor(props: TextInputProps); ref: Element | null; private _input; private _afterElement; private readonly _defaultId; private readonly _messagesId; private _focusListener; handleRef: (el: Element | null) => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: TextInputProps): void; adjustAfterElementHeight(): void; makeStyleProps: () => TextInputStyleProps; focus(): void; get interaction(): import("@instructure/ui-react-utils").InteractionType; get hasMessages(): boolean; get invalid(): boolean; get focused(): boolean; get value(): string | undefined; get id(): string; handleInputRef: (node: HTMLInputElement | null) => void; handleChange: React.ChangeEventHandler; handleBlur: React.FocusEventHandler; handleFocus: React.FocusEventHandler; renderInput(): import("@emotion/react/jsx-runtime").JSX.Element; getElementHasWidth(element: Element | null): boolean | undefined; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default TextInput; export { TextInput }; //# sourceMappingURL=index.d.ts.map