import { CSSProperties, Ref, PropType, type HTMLAttributes } from 'vue'; import '@douyinfe/semi-foundation/lib/es/input/input.css'; import type { InputGroupProps } from './inputGroup'; import type { TextAreaProps } from './textArea'; import { AriaAttributes } from '../AriaAttributes'; import { CombineProps, VueJsxNode } from '../interface'; export type { TextAreaProps, InputGroupProps }; export type InputSize = 'small' | 'large' | 'default'; export type InputMode = 'password'; export type ValidateStatus = 'default' | 'error' | 'warning' | 'success'; export interface InputProps { role?: string; 'aria-label'?: AriaAttributes['aria-label']; 'aria-describedby'?: AriaAttributes['aria-describedby']; 'aria-errormessage'?: AriaAttributes['aria-errormessage']; 'aria-invalid'?: AriaAttributes['aria-invalid']; 'aria-labelledby'?: AriaAttributes['aria-labelledby']; 'aria-required'?: AriaAttributes['aria-required']; addonBefore?: VueJsxNode; addonAfter?: VueJsxNode; prefix?: VueJsxNode; suffix?: VueJsxNode; mode?: InputMode; value?: string | number; defaultValue?: string | number; disabled?: boolean; readonly?: boolean; autoFocus?: boolean; type?: string; showClear?: boolean; hideSuffix?: boolean; placeholder?: string; insetLabel?: VueJsxNode; insetLabelId?: string; size?: InputSize; className?: string; clearIcon?: VueJsxNode; style?: CSSProperties; validateStatus?: ValidateStatus; onClear?: (e: MouseEvent) => void; onChange?: (value: string, e: HashChangeEvent) => void; onBlur?: (e: FocusEvent) => void; onFocus?: (e: FocusEvent) => void; onPaste?: (e: ClipboardEvent) => void; onInput?: (e: Event) => void; onKeyDown?: (e: KeyboardEvent) => void; onKeyUp?: (e: KeyboardEvent) => void; onKeyPress?: (e: KeyboardEvent) => void; onEnterPress?: (e: KeyboardEvent) => void; inputStyle?: CSSProperties; getValueLength?: (value: string) => number; forwardRef?: (((instance: any) => void) | any | null) | Ref; minlength?: number; maxlength?: number; preventScroll?: boolean /** internal prop, DatePicker use it */; showClearIgnoreDisabled?: boolean; borderless?: boolean; onlyBorder?: number; onCompositionstart?: any; onCompositionend?: any; inputMode?: HTMLAttributes['inputmode']; } export interface InputState { value: string | number; cachedValue: string | number; disabled: boolean; props: Record; paddingLeft: string; isFocus: boolean; isHovering: boolean; eyeClosed: boolean; minlength: number; maxlength: number; } export declare const propTypes: CombineProps; export declare const VuePropsType: CombineProps; declare const Input: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; 'aria-label': PropType | { type: PropType; default?: any; required?: false; }; 'aria-describedby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-errormessage': PropType | { type: PropType; default?: any; required?: false; }; 'aria-invalid': PropType | { type: PropType; default?: any; required?: false; }; 'aria-labelledby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-required': PropType | { type: PropType; default?: any; required?: false; }; addonBefore: PropType | { type: PropType; default?: any; required?: false; }; addonAfter: PropType | { type: PropType; default?: any; required?: false; }; prefix: PropType | { type: PropType; default?: any; required?: false; }; suffix: PropType | { type: PropType; default?: any; required?: false; }; mode: PropType<"password"> | { type: PropType<"password">; default?: any; required?: false; }; value: PropType | { type: PropType; default?: any; required?: false; }; defaultValue: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; readonly: PropType | { type: PropType; default?: any; required?: false; }; autoFocus: PropType | { type: PropType; default?: any; required?: false; }; type: PropType | { type: PropType; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; hideSuffix: PropType | { type: PropType; default?: any; required?: false; }; placeholder: PropType | { type: PropType; default?: any; required?: false; }; insetLabel: PropType | { type: PropType; default?: any; required?: false; }; insetLabelId: PropType | { type: PropType; default?: any; required?: false; }; size: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; clearIcon: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; validateStatus: PropType | { type: PropType; default?: any; required?: false; }; onClear: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; onChange: PropType<(value: string, e: HashChangeEvent) => void> | { type: PropType<(value: string, e: HashChangeEvent) => void>; default?: any; required?: false; }; onBlur: PropType<(e: FocusEvent) => void> | { type: PropType<(e: FocusEvent) => void>; default?: any; required?: false; }; onFocus: PropType<(e: FocusEvent) => void> | { type: PropType<(e: FocusEvent) => void>; default?: any; required?: false; }; onPaste: PropType<(e: ClipboardEvent) => void> | { type: PropType<(e: ClipboardEvent) => void>; default?: any; required?: false; }; onInput: PropType<(e: Event) => void> | { type: PropType<(e: Event) => void>; default?: any; required?: false; }; onKeyDown: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onKeyUp: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onKeyPress: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onEnterPress: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; inputStyle: PropType | { type: PropType; default?: any; required?: false; }; getValueLength: PropType<(value: string) => number> | { type: PropType<(value: string) => number>; default?: any; required?: false; }; forwardRef: PropType | { type: PropType; default?: any; required?: false; }; minlength: PropType | { type: PropType; default?: any; required?: false; }; maxlength: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; showClearIgnoreDisabled: PropType | { type: PropType; default?: any; required?: false; }; borderless: PropType | { type: PropType; default?: any; required?: false; }; onlyBorder: PropType | { type: PropType; default?: any; required?: false; }; onCompositionstart: PropType | { type: PropType; default?: any; required?: false; }; onCompositionend: PropType | { type: PropType; default?: any; required?: false; }; inputMode: PropType<"none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal"> | { type: PropType<"none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal">; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; 'aria-label': PropType | { type: PropType; default?: any; required?: false; }; 'aria-describedby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-errormessage': PropType | { type: PropType; default?: any; required?: false; }; 'aria-invalid': PropType | { type: PropType; default?: any; required?: false; }; 'aria-labelledby': PropType | { type: PropType; default?: any; required?: false; }; 'aria-required': PropType | { type: PropType; default?: any; required?: false; }; addonBefore: PropType | { type: PropType; default?: any; required?: false; }; addonAfter: PropType | { type: PropType; default?: any; required?: false; }; prefix: PropType | { type: PropType; default?: any; required?: false; }; suffix: PropType | { type: PropType; default?: any; required?: false; }; mode: PropType<"password"> | { type: PropType<"password">; default?: any; required?: false; }; value: PropType | { type: PropType; default?: any; required?: false; }; defaultValue: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; readonly: PropType | { type: PropType; default?: any; required?: false; }; autoFocus: PropType | { type: PropType; default?: any; required?: false; }; type: PropType | { type: PropType; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; hideSuffix: PropType | { type: PropType; default?: any; required?: false; }; placeholder: PropType | { type: PropType; default?: any; required?: false; }; insetLabel: PropType | { type: PropType; default?: any; required?: false; }; insetLabelId: PropType | { type: PropType; default?: any; required?: false; }; size: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; clearIcon: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; validateStatus: PropType | { type: PropType; default?: any; required?: false; }; onClear: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; onChange: PropType<(value: string, e: HashChangeEvent) => void> | { type: PropType<(value: string, e: HashChangeEvent) => void>; default?: any; required?: false; }; onBlur: PropType<(e: FocusEvent) => void> | { type: PropType<(e: FocusEvent) => void>; default?: any; required?: false; }; onFocus: PropType<(e: FocusEvent) => void> | { type: PropType<(e: FocusEvent) => void>; default?: any; required?: false; }; onPaste: PropType<(e: ClipboardEvent) => void> | { type: PropType<(e: ClipboardEvent) => void>; default?: any; required?: false; }; onInput: PropType<(e: Event) => void> | { type: PropType<(e: Event) => void>; default?: any; required?: false; }; onKeyDown: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onKeyUp: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onKeyPress: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; onEnterPress: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; inputStyle: PropType | { type: PropType; default?: any; required?: false; }; getValueLength: PropType<(value: string) => number> | { type: PropType<(value: string) => number>; default?: any; required?: false; }; forwardRef: PropType | { type: PropType; default?: any; required?: false; }; minlength: PropType | { type: PropType; default?: any; required?: false; }; maxlength: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; showClearIgnoreDisabled: PropType | { type: PropType; default?: any; required?: false; }; borderless: PropType | { type: PropType; default?: any; required?: false; }; onlyBorder: PropType | { type: PropType; default?: any; required?: false; }; onCompositionstart: PropType | { type: PropType; default?: any; required?: false; }; onCompositionend: PropType | { type: PropType; default?: any; required?: false; }; inputMode: PropType<"none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal"> | { type: PropType<"none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal">; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default Input; export { Input };