import { EventEmitter } from '../../stencil-public-runtime';
import { ComponentSize } from '../../utils/form-input-base';
/**
 * Input 输入框组件
 * 通过鼠标或键盘输入字符
 */
export declare class Input {
    el: HTMLElement;
    /**
     * 绑定值
     */
    modelValue: string;
    /**
     * 输入框类型
     */
    type: string;
    /**
     * 输入框尺寸
     */
    size: ComponentSize;
    /**
     * 是否禁用
     * @default false
     */
    disabled: boolean;
    /**
     * 是否只读
     * @default false
     */
    readonly: boolean;
    /**
     * 输入框占位文本
     */
    placeholder?: string;
    /**
     * 是否可清空
     * @default false
     */
    clearable: boolean;
    /**
     * 是否显示密码可见性切换
     * @default false
     */
    showPassword: boolean;
    /**
     * 是否显示字数统计
     * @default false
     */
    showWordLimit: boolean;
    /**
     * 最大输入长度
     */
    maxlength?: number;
    /**
     * 最小输入长度
     */
    minlength?: number;
    /**
     * 原生 name 属性
     */
    name?: string;
    /**
     * 原生 id 属性
     */
    inputId?: string;
    /**
     * 原生 autocomplete 属性
     */
    autocomplete?: string;
    /**
     * 原生 autofocus 属性
     */
    autofocus: boolean;
    /**
     * 输入框头部图标
     */
    prefixIcon?: string;
    /**
     * 输入框尾部图标
     */
    suffixIcon?: string;
    /**
     * 输入框行数，仅 type 为 'textarea' 时有效
     */
    rows: number;
    /**
     * 是否自适应内容高度，仅 type 为 'textarea' 时有效
     */
    autosize: boolean | {
        minRows?: number;
        maxRows?: number;
    };
    /**
     * 是否调整 textarea 大小
     */
    resize?: 'none' | 'both' | 'horizontal' | 'vertical';
    isFocused: boolean;
    showClear: boolean;
    passwordVisible: boolean;
    inputValue: string;
    private inputRef?;
    /**
     * 值改变事件
     */
    hbChange: EventEmitter<string>;
    /**
     * 输入事件
     */
    hbInput: EventEmitter<string>;
    /**
     * 聚焦事件
     */
    hbFocus: EventEmitter<FocusEvent>;
    /**
     * 失焦事件
     */
    hbBlur: EventEmitter<FocusEvent>;
    /**
     * 清空事件
     */
    hbClear: EventEmitter<void>;
    handleValueChange(): void;
    componentDidLoad(): void;
    private updateClearVisible;
    private handleInput;
    private handleChange;
    private handleFocus;
    private handleBlur;
    private handleClear;
    private togglePasswordVisible;
    private getInputType;
    render(): any;
}
