import { ChangeDetectorRef, ComponentFactoryResolver, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import { BaseInputComponent } from '../base/base-input.component';
import { BoundsConstrainedNumberValue } from '../../core/model/bounds-constrained-number-value';
import { KeyboardCode } from '../../core/enum/keyboard-code.enum';
import { FormInputUserModelChangeListenerService } from '../../core/service/form-input-user-change-listener.service';
import { InputNumberPickerButtonShowMode } from '../../core/enum/input-number-picker-show-mode.enum';
import { IconCacheService } from '../icon/icon-cache.service';
import { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';
import { FormComponent } from '../form/form.component';
import { OverlayService } from '../../service/overlay.service';
import { SafeHtml } from '@angular/platform-browser';
import { NgZoneWrapperService } from '../../core/service/ng-zone-wrapper.service';
export declare class InputNumberPickerComponent extends BaseInputComponent<number> implements OnInit, OnDestroy {
    formComponent: FormComponent;
    iconCacheService: IconCacheService;
    protected overlayService: OverlayService;
    private _ngZone;
    protected componentFactoryResolver: ComponentFactoryResolver;
    protected ngZoneWrapper?: NgZoneWrapperService;
    elementRef?: ElementRef;
    set model(model: number);
    get model(): number;
    modelChangeOnEnter: boolean;
    showPermanentLabel: boolean;
    leftIconData: SafeHtml | undefined;
    set min(min: number);
    set step(step: number);
    set max(max: number);
    ngModelOptions: any;
    minusIcon: CoreComponentsIcon;
    plusIcon: CoreComponentsIcon;
    buttonShowMode: InputNumberPickerButtonShowMode;
    noValidation: boolean;
    set decimals(decimals: number);
    readonly modelChange: EventEmitter<number>;
    readonly iconClick: EventEmitter<MouseEvent>;
    get showButtonsOnFocusOnly(): boolean;
    get hasLabel(): boolean;
    showClass(): boolean;
    showButtons: boolean;
    readonly myKeyDownWhiteList: KeyboardCode[];
    readonly numberLogic: BoundsConstrainedNumberValue;
    minSelected: boolean;
    plusSelected: boolean;
    private _numberInputHasFocus;
    private _changeFromButton;
    private _numberLogicValueChangeSub;
    private readonly _delayBeforeStartAutoCountMs;
    private readonly _stepFactors;
    private readonly _msChangeStepFactor;
    private readonly _msDoStep;
    private _stepFactor;
    private _mayAutoCount;
    private _autoCountTimeout;
    private _stepIncrementTimeout;
    private _startAutocountTimeout;
    constructor(formComponent: FormComponent, iconCacheService: IconCacheService, overlayService: OverlayService, _ngZone: NgZone, componentFactoryResolver: ComponentFactoryResolver, changeDetector: ChangeDetectorRef, formUserChangeListener: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    doIncrementAuto(): void;
    handleInputKeyDown(event: KeyboardEvent): boolean;
    handleBlur(): void;
    handleChangeModel(value: number): void;
    doDecrementAuto(): void;
    stopAutoCounting(): void;
    setValue(newValue: number, silent?: boolean): void;
    increment(steps?: number): void;
    decrement(steps?: number): void;
    onPlusMouseDown(event: Event): void;
    onMinusMouseDown(event: Event): void;
    private _doIncreaseStepFactor;
    private _getNextStepFactorMouseDown;
    private _updateButtonsShowState;
}
