import { type ChangeEvent } from 'react'; import { type WithChildren } from '@dynatrace/strato-components/core'; import type { FormControlProps } from '../../core/types/form-control-props.js'; import type { BaseInputProps } from '../_base-input/BaseInput.js'; import type { FormControlRef } from '../shared-types.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; } /** * @public */ export type TextInputProps = Pick & FormControlProps) => void> & WithChildren & { /** * 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>) => React.ReactElement | null) & { Prefix: (props: import("../_base-input/BaseInputContent.js").BaseInputContentProps & import("react").RefAttributes) => React.ReactElement | null; Suffix: (props: import("../_base-input/BaseInputContent.js").BaseInputContentProps & import("react").RefAttributes) => React.ReactElement | null; Button: (props: import("../_base-input/BaseInputButton.js").BaseInputButtonProps & import("react").RefAttributes) => React.ReactElement | null; };