import * as polytype from 'polytype';
import * as _angular_core from '@angular/core';
import * as i2 from '@acorex/cdk/input-mask';
import { AXInputMaskEvent } from '@acorex/cdk/input-mask';
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
import * as i1 from '@angular/forms';
import * as i3 from '@acorex/components/button';
import * as i4 from '@acorex/components/decorators';

declare const AXNumberBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXInputBaseValueComponent<number>;
    ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXLookComponent]>;
/**
 * The NumberBox is a component which detects user interaction and triggers a corresponding event
 *
 * @category Components
 */
declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
    #private;
    minValue: _angular_core.InputSignal<number>;
    maxValue: _angular_core.InputSignal<number>;
    showSpinButtons: _angular_core.InputSignal<boolean>;
    thousandsSeparator: _angular_core.ModelSignal<string>;
    decimals: _angular_core.InputSignal<number>;
    changeOnScroll: _angular_core.InputSignal<boolean>;
    step: _angular_core.InputSignal<number>;
    protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
    private input;
    protected stringValue: _angular_core.WritableSignal<string>;
    protected internalValueChanged(value: number | undefined): void;
    private plusValue;
    private minusValue;
    protected handleOnKeydownEvent(e: KeyboardEvent): void;
    protected handleUpClick(): void;
    protected handleDownClick(): void;
    protected handleOnMaskChanged(e: AXInputMaskEvent): void;
    protected onWheel(event: WheelEvent): void;
    reset(): void;
    private get __hostName();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNumberBoxComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXNumberBoxComponent, "ax-number-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; "isSignal": true; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "changeOnScroll": { "alias": "changeOnScroll"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "thousandsSeparator": "thousandsSeparatorChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
}

declare class AXNumberBoxModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNumberBoxModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXNumberBoxModule, never, [typeof i1.FormsModule, typeof i2.AXInputMaskDirective, typeof i3.AXButtonModule, typeof i4.AXDecoratorModule, typeof AXNumberBoxComponent], [typeof AXNumberBoxComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXNumberBoxModule>;
}

export { AXNumberBoxComponent, AXNumberBoxModule };
