import type { CSSProperties } from 'react';
import type { BasicSizeType } from './basic-size-type';
import { TLanguage } from '@cainiaofe/cn-i18n';
export interface CnNumberPickerProps {
    /**
     * 值的类型
     */
    value?: number;
    /**
     * 最小值
     */
    min?: number;
    /**
     * 最大值
     */
    max?: number;
    /**
     * 步数
     */
    step?: number;
    /**
     * 默认值
     */
    defaultValue?: number;
    /**
     * 占位提示
     */
    placeholder?: string;
    /**
     * 切换为预览状态
     */
    readOnly?: boolean;
    /**
     * 是否聚焦
     */
    focused?: boolean;
    /**
     * 是否禁用
     */
    disabled?: boolean;
    /**
     * 是否隐藏左右两侧按钮
     */
    hideButton?: boolean;
    /**
     * 'small' | 'medium' | 'large'
     */
    size?: BasicSizeType;
    /**
     * 保留小数点后位数
     */
    precision?: number;
    keybordType?: string;
    /**
     * react 是否开放受控能力
     */
    controlled?: boolean;
    /**
     * 键盘类型
     * (default ascii-capable numbers-and-punctuation url number-pad phone-pad name-phone-pad
     * email-address decimal-pad twitter Web-search numeric)
     */
    keyboardType?: string;
    /**
     * 自定义内联样式
     */
    style?: CSSProperties;
    /**
     * input 输入框自定义样式
     */
    inputStyle?: CSSProperties;
    /**
     * 文字后附加内容
     */
    innerAfter?: string;
    /**
     * 左侧label
     */
    label?: string;
    /**
     * 格式化当前值
     */
    format?: (value: string) => string;
    /**
     * 变化前回调函数
     */
    onBeforeChange?: (val: number | string) => Promise<any>;
    /**
     * 变化时回调函数, 通过 e.originalValue 获取原始值
     */
    onChange?: (val: number | string, e: any) => void;
    /**
     * 获得焦点回调函数
     */
    onFocus?: (e?: any) => void;
    /**
     * 失去焦点回调函数
     */
    onBlur?: (e?: any) => void;
    /**
     * 监听输入
     */
    onInput?: (val: number, correctValue: number, e: any) => void;
    /**
     * 当按钮禁用时，点击时回调函数（多用于提示）
     */
    onDisabledClick?: (type: string, e?: any) => void;
    /**
     * 处理极值
     */
    onCorrect?: (currentValue?: number, oldValue?: number) => void;
    /**
     *开启国际化适配：不设置 跟随系统配置；true 开启；false 关闭；配置语种 固定语种格式
     */
    adapterLocale?: boolean | TLanguage;
}
