import React from 'react'; import type { BaseProps } from '../../component-helpers'; import type { FormValidationStatus } from '../form-types'; import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'; import type { Icon } from '@primer/octicons-react'; type VisualType = React.ReactElement | React.ReactNode | Icon; export declare const TextInputSizes: readonly ["small", "medium", "large"]; export type TextInputSize = (typeof TextInputSizes)[number]; export type TextInputProps = { /** * Applies full width styling. */ fullWidth?: boolean; /** * Removes border */ invisible?: boolean; /** * Applies non-interactive text to start of input. */ leadingText?: string; /** * Applies non-interactive iconography to start of input. */ leadingVisual?: VisualType; /** * Applies monospace styling. */ monospace?: boolean; /** * Applies alternative sizing to the input */ size?: TextInputSize; /** * Applies non-interactive text to end of input. */ trailingText?: string; /** * Applies non-interactive iconography to end of input. */ trailingVisual?: VisualType; /** * Constrains the input type to single line inputs. */ type?: 'text' | 'number' | 'email' | 'password' | 'search' | 'tel' | 'url' | 'date' | 'time' | 'datetime-local'; /** * Applies a required attribute to the input */ required?: boolean; /** * */ validationStatus?: FormValidationStatus; } & Omit, 'size' | 'type'> & BaseProps; export declare const TextInput: React.ForwardRefExoticComponent & React.RefAttributes>; export {};