import { InterruptManager } from "./InterruptManager";
import { InputType, InputTypeObserver } from "./inputType/InputType";
import { EventManager } from "./EventManager";
import { AxisManager, Axis } from "./AxisManager";
import { AxesOption } from "./Axes";
import { AnimationManager } from "./animation/AnimationManager";
export declare class InputObserver implements InputTypeObserver {
    options: AxesOption;
    private _interruptManager;
    private _eventManager;
    private _axisManager;
    private _animationManager;
    private _isOutside;
    private _moveDistance;
    private _isStopped;
    constructor({ options, interruptManager, eventManager, axisManager, animationManager, }: {
        options: AxesOption;
        interruptManager: InterruptManager;
        eventManager: EventManager;
        axisManager: AxisManager;
        animationManager: AnimationManager;
    });
    get(input: InputType): Axis;
    hold(input: InputType, event: any): void;
    change(input: InputType, event: any, offset: Axis, useAnimation?: boolean): void;
    release(input: InputType, event: any, velocity: number[], inputDuration?: number): void;
    private _atOutside;
    private _isEndofAxis;
}
