/// <reference types="react" />
import { ValueType } from './value-type';
export interface CnInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'> {
    /**
     * 自定义类名
     */
    className?: string;
    /**
     * input尺寸 'small' | 'medium' | 'large'
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * 是否在form.item中，在form中会使用small尺寸
     * @ignore 内部使用
     */
    insideForm?: boolean;
    /**
     * 主题颜色控制，normal | inverse
     * */
    type?: 'normal' | 'inverse';
    /**
     * 输入值（受控）
     */
    value?: ValueType;
    /**
     * 默认输入值 （非受控）
     */
    defaultValue?: ValueType;
    /**
     * 占位文案
     */
    placeholder?: string;
    /**
     * 指定键盘类型 `v0.12.31+`
     * @since 0.12.31
     */
    inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'url' | 'tel' | 'search' | 'email' | 'url';
    /**
     * 键盘回车按钮的展示类型
     */
    enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
    /**
     * 是否使用初始的 ref 值
     */
    useOriginalRef?: boolean;
    /**
     * 是否为密码
     */
    isPassword?: boolean;
    /**
     * 是否允许切换密码显示
     */
    canTogglePasswordShow?: boolean;
    /**
     * 接受input真实的type值，不推荐使用
     */
    htmlType?: 'password' | 'text' | 'number';
    /**
     * 状态 'loading' | 'warning' | 'success' | 'error'
     */
    state?: 'normal' | 'loading' | 'warning' | 'success' | 'error';
    /**
     * 最大长度
     */
    maxLength?: number;
    /**
     * 是否展现内容长度样式 例如 0/10
     */
    showLimitHint?: boolean;
    /**
     * 文本框为只读态
     */
    readOnly?: boolean;
    /**
     * 禁止输入
     */
    disabled?: boolean;
    /**
     * style样式
     */
    style?: object;
    /**
     * 显示清空输入按钮
     */
    hasClear?: boolean;
    /**
     * 初始化时自动获得焦点
     */
    autoFocus?: boolean;
    /**
     * 文本对齐方式  'left' | 'right'
     */
    align?: 'left' | 'right';
    /**
     * 是否为受控模式
     */
    controlled?: boolean;
    /**
     * 聚焦高亮
     */
    highlightable?: boolean;
    /**
     * 右侧附加项，接受节点
     */
    addonAfter?: any;
    /**
     * 左侧附加项，接受节点
     */
    addonBefore?: any;
    /**
     * 输入文字后面附加内容
     */
    innerAfter?: any;
    /**
     * 输入文字前面附加内容
     */
    innerBefore?: any;
    /**
     * 确认框类型 'done' | 'go' | 'next' | 'search' | 'send'
     */
    confirmType?: 'done' | 'go' | 'next' | 'search' | 'send';
    /**
     * focus 事件回调
     */
    onFocus?: (e?: React.FormEvent<HTMLInputElement>) => void;
    /**
     * 点击清空按钮 事件回调
     */
    onClear?: (e?: any) => void;
    /**
     * blur 事件回调
     */
    onBlur?: (e?: React.FormEvent<HTMLInputElement>) => void;
    /**
     * 值改变时触发的回调函数
     */
    onChange?: (val: string, e?: React.FormEvent<HTMLInputElement>) => void;
    /**
     * confirm 事件回调
     */
    onConfirm?: (val: string, e: React.FormEvent<HTMLInputElement>) => void;
    /**
     * 输入合成开始时 事件回调
     */
    onCompositionStart?: (e?: any) => void;
    /**
     *  输入合成结束时 事件回调
     */
    onCompositionEnd?: (e?: any) => void;
}
