import { type ChangeEvent } from 'react'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { FormControlProps } from '../../core/types/form-control-props.js'; import { WithChildren } from '../../core/types/with-children.js'; import type { BaseInputProps } from '../_base-input/base-input.types.js'; import type { FormControlRef } from '../shared-types.js'; import type { MessageTarget } from '../validation/message-routing.js'; /** * @deprecated - please use TextInputProps instead. * @public */ export interface TextInputControlledProps { /** The default value of the input. */ defaultValue?: never; /** The value of the input. */ value?: string; } /** * @deprecated - please use TextInputProps instead. * @public */ export interface TextInputUncontrolledProps { /** The default value of the input. */ defaultValue?: string; /** The value of the input. */ value?: never; } /** * The properties of the TextInput component. * @public */ export type TextInputProps = Pick & FormControlProps) => void, HTMLInputElement> & WithChildren & BehaviorTrackingProps & { /** * Internal: associates this control with a `_Form` rendered outside its * React subtree via the native `form` attribute. Unstable. * @internal */ _form?: string; /** * Internal: routes this control's native/Strato validation messages to the * field outlet (default), the enclosing form's outlet, or both. Unstable. * @internal */ _messageTarget?: MessageTarget | MessageTarget[]; /** * Maps to the native input type. Use this to enhance the semantics * of the native input, change default keyboards on mobile or support browser * autocompletion for specific types. * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types} * * @defaultValue 'text' */ type?: 'text' | 'password' | 'email' | 'url' | 'tel' | 'search'; }; /** * Use the `TextInput` component to request a small amount of information, * such as a name or an email address. To let users input * larger amounts of text, use a `TextArea` instead. * @public */ export declare const TextInput: ((props: TextInputProps & import("react").RefAttributes>) => import("react").ReactElement | null) & { Prefix: (props: import("../index.js").BaseInputContentProps & import("react").RefAttributes) => import("react").ReactElement | null; Suffix: (props: import("../index.js").BaseInputContentProps & import("react").RefAttributes) => import("react").ReactElement | null; Button: (props: import("../index.js").BaseInputButtonProps & import("react").RefAttributes) => import("react").ReactElement | null; }; //# sourceMappingURL=TextInput.d.ts.map