import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { DevConfigService } from 'ng-devui/utils';
import * as i0 from "@angular/core";
export type InputSizeType = '' | 'sm' | 'lg';
export declare class InputNumberComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterViewInit {
    private cdr;
    private devConfigService;
    private el;
    private renderer;
    private doc;
    step: number;
    disabled: boolean;
    size: InputSizeType;
    decimalLimit: any;
    autoFocus: boolean;
    allowEmpty: boolean;
    placeholder: string;
    maxLength: number;
    reg: RegExp | string;
    styleType: string;
    showGlowStyle: boolean;
    get hasGlowStyle(): boolean;
    afterValueChanged: EventEmitter<number>;
    whileValueChanging: EventEmitter<number>;
    incButton: ElementRef;
    decButton: ElementRef;
    inputElement: ElementRef;
    private value;
    private _min;
    private _max;
    private incListener;
    private decListener;
    private incAction;
    private decAction;
    disabledInc: boolean;
    disabledDec: boolean;
    lastEmittedValue: number;
    lastValue: number;
    document: Document;
    set min(val: number);
    get min(): number;
    set max(val: number);
    get max(): number;
    private onTouchedCallback;
    private onChangeCallback;
    constructor(cdr: ChangeDetectorRef, devConfigService: DevConfigService, el: ElementRef, renderer: Renderer2, doc: any);
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(newValue: any): void;
    private valueMustBeValid;
    private clamp;
    private ensureValueInRange;
    private setValue;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    registerListeners(): void;
    subscribeActions(): void;
    subscribeIncAction(): void;
    subscribeDecAction(): void;
    unsubscribeActions(): void;
    unsubscribeIncAction(): void;
    unsubscribeDecAction(): void;
    private increaseValue;
    private decreaseValue;
    private inDecreaseValue;
    private matchReg;
    private canIncrease;
    private canDecrease;
    private toggleDisabled;
    ensureValueIsValid(event: Event): void;
    private checkRangeValues;
    private getDecimals;
    private getMaxDecimals;
    handleKeyDown(event: KeyboardEvent): void;
    protectInput(event: Event): void;
    private notifyValueChange;
    private notifyWhileValueChanging;
    private updateValue;
    handleBackspace(event: KeyboardEvent): void;
    keyBoardControl(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputNumberComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputNumberComponent, "d-input-number", never, { "step": { "alias": "step"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "decimalLimit": { "alias": "decimalLimit"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "allowEmpty": { "alias": "allowEmpty"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "reg": { "alias": "reg"; "required": false; }; "styleType": { "alias": "styleType"; "required": false; }; "showGlowStyle": { "alias": "showGlowStyle"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "afterValueChanged": "afterValueChanged"; "whileValueChanging": "whileValueChanging"; }, never, never, false, never>;
}
