import { default as EaFormAssociatedBase } from '../../core/EaFormAssociatedBase'; declare const INPUT_TYPES: readonly ["textarea", "text", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "number", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"]; export type InputType = (typeof INPUT_TYPES)[number]; export type InputSize = "large" | "default" | "small"; export type ResizeType = "none" | "both" | "horizontal" | "vertical"; /** * @summary 输入框组件,支持多种输入类型、可清空、密码显示切换、字数统计等功能。 * @status stable * @since 3.0 * * @dependency ea-icon * * @slot prepend - 前置内容插槽。 * @slot prefix - 前缀图标插槽。 * @slot suffix - 后缀图标插槽。 * @slot append - 后置内容插槽。 * * @event input - 输入值变化时触发,detail: `{ value: string }`。 * @event change - 值提交变化时触发,detail: `{ value: string }`。 * @event ea-clear - 清空输入框时触发,detail: `{ oldValue: string }`。 * @event focus - 获得焦点时触发。 * @event blur - 失去焦点时触发。 * * @csspart container - 容器元素。 * @csspart label - 标签元素。 * @csspart region - 区域元素。 * @csspart prepend - 前置内容元素。 * @csspart inner - 内部容器元素。 * @csspart prefix - 前缀元素。 * @csspart original-wrapper - 原始输入框包装器元素。 * @csspart original - 原始输入框元素。 * @csspart suffix - 后缀元素。 * @csspart clear-icon - 清除图标元素。 * @csspart show-password-icon - 显示密码图标元素。 * @csspart suffix-icon - 后缀图标元素。 * @csspart count - 字数统计元素。 * @csspart append - 后置内容元素。 * * @cssproperty --ea-input-height - 输入框高度。 * @cssproperty --ea-input-font-size - 输入框字体大小。 * @cssproperty --ea-input-border-color - 输入框边框颜色。 * @cssproperty --ea-input-border-focus-color - 输入框聚焦边框颜色。 * @cssproperty --ea-input-border-invalid-color - 输入框无效边框颜色。 * @cssproperty --ea-input-border-radius - 输入框圆角。 * @cssproperty --ea-input-padding - 输入框内边距。 * @cssproperty --ea-input-text-color - 输入框文字颜色。 * @cssproperty --ea-input-transition - 过渡动画时长。 * @cssproperty --ea-input-icon-color - 图标颜色。 * @cssproperty --ea-input-resize - 文本域调整大小方式。 */ export declare class EaInput extends EaFormAssociatedBase { private _container; private _prepend; private _inner; private _prefixSlot; private _originalWrapper; private _original; private _suffix; private _suffixIcon; private _clearIcon; private _showPasswordIcon; private _wordCount; private _append; private _label; _isFocus: boolean; _originTextareaHeight: number; private _originalAbortController; label: string; type: InputType; size: InputSize; value: string; required: boolean; placeholder: string; maxlength: number | null; minlength: number | null; clearable: boolean; clearIcon: string; disabled: boolean; showPassword: boolean; prefixIcon: string; suffixIcon: string; showWordLimit: boolean; rows: number; autosize: boolean; minRows: number | string | null; maxRows: number | string | null; autocomplete: AutoFill; name: string; readonly: boolean; max: number | string | null; min: number | string | null; step: number | string; pattern: string | null; resize: ResizeType; autofocus: boolean; ariaLabel: string; tabindex: string; inputmode: string; get validationTarget(): HTMLInputElement | HTMLTextAreaElement; updateContainerClasslist(): string; private _renderOriginal; html(): string; focus(options?: FocusOptions): void; blur(): void; clear(): void; select(): void; setRangeText(replacement: string, start: number, end: number, selectMode?: "select" | "start" | "end" | "preserve"): void; setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection?: "forward" | "backward" | "none"): void; showPicker(): void; stepDown(n?: number): void; stepUp(n?: number): void; private _handleClearIconClick; private _handleShowPasswordIconClick; private _handleInput; private _handleFocus; private _handleBlur; private _handleAutosize; private _handleChange; /** 更新字数统计 */ private _updateWordCount; $mount(): void; private _bindOriginalEvents; $beforeUnmount(): void; updateValidity(): void; private _syncAriaInvalid; checkValidity(): boolean; reportValidity(): boolean; } export {}; //# sourceMappingURL=index.d.ts.map