/**
* @license
* Copyright 厦门乾元盛世科技有限公司 All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file.
*/
import { EventEmitter, ElementRef, Renderer } from '@angular/core';
import { FormControl } from '../input/form.control';
export declare class InputNumber extends FormControl {
private renderer;
private elementRef;
private compositionMode;
/** 样式前缀 */
prefixCls: string;
/** 用户CSS样式 */
class: string;
/** 控件大小。注:标准表单内的输入框大小限制为 `large`。可选 `large` `default` `small`。 */
size: 'large' | 'default' | 'small';
/** 选择框默认文字 */
placeholder: string;
/** 是否只读状态,默认为 false */
readOnly: boolean;
/**
* max 属性规定输入字段所允许的最大值。
* 注释:max 和 min 属性适用于以下 类型:number, range, date, datetime, datetime-local, month, time 以及 week。
*/
max: number;
/**
* min 属性规定输入字段所允许的最小值。
* 注释:max 和 min 属性适用于以下 类型:number, range, date, datetime, datetime-local, month, time 以及 week。
*/
min: number;
/** 每次改变步数,可以为小数。默认为1。 */
stepValue: number;
/** 数值精度 */
precision: number;
/**
* 指定输入框展示值的格式。入参为(value: number),返回值为string。
*/
formatter: (value: number) => string;
/** 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 */
parser: (formated: string) => number;
/** 自动聚焦 */
autoFocus: boolean;
/** 值变更事件 */
change: EventEmitter;
/** 实际输入框 */
input: ElementRef;
/**
* 默认情况下,输入框的focus、blur事件是不传播的,因此当我们控制内部的输入框后,需要发射自己的focus、blur事件
*
* @output {event} Expression to call when the input no longer has focus
*/
blur: EventEmitter;
/**
* 默认情况下,输入框的focus、blur事件是不传播的,因此当我们控制内部的输入框后,需要发射自己的focus、blur事件
*
* @output {event} Expression to call when the input has focus
*/
focus: EventEmitter;
private actualValue;
/** 是否已聚焦 */
focused: boolean;
private autoStepTimer;
constructor(renderer: Renderer, elementRef: ElementRef, compositionMode: boolean);
/**
* The underlying host native element
*/
getHostElement(): HTMLElement;
/**
* 样式
*/
readonly classes: string;
/**
* The value of the input ngModel
*
* @internal (model -> view2)
*/
/**
* 内部输入框的内容,用于绑定内部的 ngModel 值
*/
innerValue: any;
/** 对用户输入的值进行预处理,如文本转数字等 */
processValue(value: any): number;
/**
* Write a new value to the element.
*
* @Override (From ControlValueAccessor interface)
*/
writeValue(value: any): void;
/**
* @private
*/
onBlur(event: UIEvent): void;
onFocus(event: Event): void;
/** focus on the input */
doFocus(): void;
onKeyDown(event: KeyboardEvent): void;
onKeyUp(event: KeyboardEvent): void;
onUpHandlerPress(event: Event): void;
onDownHandlerPress(event: Event): void;
/** 禁止内部input控件的change事件传播 */
onInputChange(event: Event): void;
/**
* 若按下『SHIFT』键则10倍速率,若按下『CTRL』或『META』键,则0.1倍速率,否则速率不变
*
* @param e 键盘事件
*/
getRatio(e: KeyboardEvent): number;
formatNumber(num: number): string;
/** 向上增加的按钮是否不可用 */
isUpHandlerDisabled(): boolean;
/** 向下增加的按钮是否不可用 */
isDownHandlerDisabled(): boolean;
preventDefaultEvent(event: Event): void;
stop(event?: Event): void;
down(e: Event, ratio?: number, recursive?: boolean): void;
up(e: Event, ratio?: number, recursive?: boolean): void;
step(type: string, e: Event, ratio?: number): void;
getPrecision(value: any): number;
getMaxPrecision(): number;
}