/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { TargetCamera, ICameraInput } from '../../loader/babylonjs-import';
import { CameraOptions } from '../ViewerCamera';
/**
 * Manage the mouse inputs to control the movement of a PivotTargetCamera.
 * @see http://doc.babylonjs.com/how_to/customizing_camera_inputs
 */
export declare class TwinfinityTargetCameraMouseZoomInput<TCamera extends TargetCamera> implements ICameraInput<TCamera> {
    private readonly _cameraOptions;
    private _delta;
    private _lastWheelSpinTimeInMs?;
    private _currentDirection;
    private _lastScreenCoordinate;
    private _screenCoordinate;
    /**
     * This function is run every time onPointerObservable fires
     */
    private _wheelHandler;
    private _clickHandler;
    /**
     * This variable contains the Observable
     */
    private _wheelObserver;
    private _clickObserver;
    private _mouseWheelDown;
    /**
     * Defines the camera the input is attached to.
     */
    camera: TCamera;
    /**
     * Gets or Set the mouse wheel precision or how fast is the camera zooming.
     */
    wheelPrecision: number;
    constructor(_cameraOptions: CameraOptions);
    private _counter;
    /**
     * Attach the input controls to a specific dom element to get the input from.
     * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
     */
    attachControl(noPreventDefault?: boolean): void;
    /**
     * Checks if user is zooming.
     */
    get isZooming(): boolean;
    checkInputs(): void;
    /**
     * Detaches the current controls from the specified DOM element.
     */
    detachControl(): void;
    /**
     * Gets the class name of the current input.
     * @returns the class name
     */
    getClassName(): string;
    /**
     * Get the friendly name associated with the input class.
     * @returns the input friendly name
     */
    getSimpleName(): string;
}
//# sourceMappingURL=TwinfinityTargetCameraMouseZoomInput.d.ts.map