import { LoggingService } from "../../../services/logging-service";
import { NumberService } from "../../../services/number-service";
import { BindingEngine } from "aurelia-framework";
import "./number-input.css";
import "./spinner.css";
export declare class NumberInput {
    private loggingService;
    private numberService;
    protected bindingEngine: BindingEngine;
    target: number;
    dirty: boolean;
    min: number;
    max: number;
    step: number;
    private timer;
    private didSomething;
    private way;
    private originalValue;
    private inputGroup;
    private subscriptionTarget;
    private subscriptionDirty;
    constructor(loggingService: LoggingService, numberService: NumberService, bindingEngine: BindingEngine);
    bind(): void;
    unbind(): void;
    incr(): void;
    decr(): void;
    updateDirtyState(newValue: number): void;
    buttonIncr(event: KeyboardEvent): boolean;
    buttonDecr(event: KeyboardEvent): boolean;
    buttonKeyPress(event: KeyboardEvent, way: whichWay): void;
    startIncr(): boolean;
    startDecr(): boolean;
    startTimer(way: whichWay): boolean;
    mouseexit(): boolean;
    done(): void;
    endTimer(): boolean;
    doIt(way: whichWay): void;
    confirmPaste(event: ClipboardEvent): boolean;
    confirmKey(event: KeyboardEvent): boolean;
}
export declare enum whichWay {
    undefined = 0,
    incr = 1,
    decr = 2,
}
