import * as react_jsx_runtime from 'react/jsx-runtime'; import { A as AriaProps } from './accessibility-Dv-wc-jy.js'; import { V as VoiceCapture } from './usePushToTalk-DgH3oQQf.js'; import './useInput-D8eE1Kzb.js'; /** Opt-in voice dictation configuration for TextInput. Adapter-agnostic: supply your own captureFactory and transcribe function. */ interface TextInputVoiceProps { enabled?: boolean; captureFactory: () => VoiceCapture; transcribe: (audio: Buffer) => Promise; onError?: (error: Error) => void; warmupRepeatThreshold?: number; releaseDebounceMs?: number; /** Hint shown while idle and the field is empty. Default: 'Hold Space to speak' */ hint?: string; } interface TextInputProps extends AriaProps { value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; placeholder?: string; mask?: string; validate?: (value: string) => string | null; width?: number; label?: string; autoFocus?: boolean; id?: string; /** Show a border around the input. Default: true */ bordered?: boolean; /** Border style. Default: 'round' */ borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic'; /** Horizontal padding. Default: 1 */ paddingX?: number; /** Cursor character shown when focused. Default: '█' */ cursor?: string; /** Optional push-to-talk voice dictation. Does not import any adapter at runtime. */ voice?: TextInputVoiceProps; } declare function TextInput({ value: controlledValue, onChange, onSubmit, placeholder, mask, validate, width, label, autoFocus, id, bordered, borderStyle, paddingX, cursor, voice, 'aria-label': ariaLabel, 'aria-description': ariaDescription, 'aria-live': ariaLive, }: TextInputProps): react_jsx_runtime.JSX.Element; interface TextAreaProps extends AriaProps { value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; placeholder?: string; rows?: number; label?: string; id?: string; /** Border style. Default: 'round' */ borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic'; /** Horizontal padding. Default: 1 */ paddingX?: number; /** Cursor character shown when focused. Default: '█' */ cursor?: string; } declare function TextArea({ value: controlledValue, onChange, onSubmit, placeholder, rows, label, id, borderStyle, paddingX, cursor, 'aria-label': ariaLabel, 'aria-description': ariaDescription, 'aria-live': ariaLive, }: TextAreaProps): react_jsx_runtime.JSX.Element; interface PasswordInputProps { value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; placeholder?: string; mask?: string; showToggle?: boolean; label?: string; id?: string; /** Border style. Default: 'round' */ borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic'; /** Horizontal padding. Default: 1 */ paddingX?: number; /** Width of the input box. Default: undefined (auto) */ width?: number; /** Cursor character shown when focused. Default: '█' */ cursor?: string; } declare function PasswordInput({ value: controlledValue, onChange, onSubmit, placeholder, mask, showToggle, label, id, borderStyle, paddingX, width, cursor, }: PasswordInputProps): react_jsx_runtime.JSX.Element; interface NumberInputProps { value?: number; onChange?: (value: number) => void; onSubmit?: (value: number) => void; min?: number; max?: number; step?: number; placeholder?: string; label?: string; id?: string; format?: (n: number) => string; /** Border style. Default: 'round' */ borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic'; /** Horizontal padding. Default: 1 */ paddingX?: number; /** Cursor character shown when focused. Default: '█' */ cursor?: string; /** Step hint format. Default: '↑ +{step} ↓ -{step}' */ stepHint?: string; } declare function NumberInput({ value: controlledValue, onChange, onSubmit, min, max, step, placeholder, label, id, format, borderStyle, paddingX, cursor, stepHint, }: NumberInputProps): react_jsx_runtime.JSX.Element; interface SearchInputProps { options?: T[]; getValue?: (item: T) => string; value?: string; onChange?: (query: string) => void; onSelect?: (item: T) => void; placeholder?: string; label?: string; maxResults?: number; id?: string; /** Border style. Default: 'round' */ borderStyle?: 'single' | 'double' | 'round' | 'bold' | 'singleDouble' | 'doubleSingle' | 'classic'; /** Horizontal padding. Default: 1 */ paddingX?: number; /** Cursor character shown when focused. Default: '█' */ cursor?: string; /** Icon shown before the search input. Default: '🔍 ' */ searchIcon?: string; /** Cursor shown before selected result. Default: '› ' */ resultCursor?: string; } declare function SearchInput({ options, getValue, value: controlledValue, onChange, onSelect, placeholder, label, maxResults, id, borderStyle, paddingX, cursor, searchIcon, resultCursor, }: SearchInputProps): react_jsx_runtime.JSX.Element; interface MaskedInputProps { mask: string; value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; label?: string; placeholder?: string; autoFocus?: boolean; id?: string; width?: number; } declare function MaskedInput({ mask, value: controlledValue, onChange, onSubmit, label, placeholder, autoFocus, id, width, }: MaskedInputProps): react_jsx_runtime.JSX.Element; interface EmailInputProps { value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; label?: string; placeholder?: string; autoFocus?: boolean; id?: string; width?: number; suggestions?: string[]; } declare function EmailInput({ value: controlledValue, onChange, onSubmit, label, placeholder, autoFocus, id, width, suggestions, }: EmailInputProps): react_jsx_runtime.JSX.Element; interface PathInputProps { value?: string; onChange?: (value: string) => void; onSubmit?: (value: string) => void; label?: string; placeholder?: string; autoFocus?: boolean; id?: string; width?: number; /** Filter to only show files/dirs matching this extension, e.g. '.ts' */ filter?: string; /** Show only directories */ dirsOnly?: boolean; } declare function PathInput({ value: controlledValue, onChange, onSubmit, label, placeholder, autoFocus, id, width, filter, dirsOnly, }: PathInputProps): react_jsx_runtime.JSX.Element; export { EmailInput, type EmailInputProps, MaskedInput, type MaskedInputProps, NumberInput, type NumberInputProps, PasswordInput, type PasswordInputProps, PathInput, type PathInputProps, SearchInput, type SearchInputProps, TextArea, type TextAreaProps, TextInput, type TextInputProps };