/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { CameraInputsManager, Nullable, TargetCamera } from '../loader/babylonjs-import';
import { PivotTargetCamera } from './PivotTargetCamera';
import { TwinfinityTargetCameraMouseRotationInput } from './Inputs/TwinfinityTargetCameraMouseRotationInput';
import { TwinfinityTargetCameraMousePanInput } from './Inputs/TwinfinityTargetCameraMousePanInput';
import { TwinfinityTargetCameraMouseZoomInput } from './Inputs/TwinfinityTargetCameraMouseZoomInput';
import { TwinfinityCameraTouchInput } from './Inputs/TwinfinityCameraTouchInput';
import { TwinfinityTargetCameraKeyboardInput } from './Inputs/TwinfinityCameraKeyboardInput';
import { CameraMode, CameraOptions } from './ViewerCamera';
/**
 * Default Inputs manager for the PivotTargetCamera.
 * It groups all the default supported inputs for ease of use.
 * @see http://doc.babylonjs.com/how_to/customizing_camera_inputs
 */
export declare class TwinfinityTargetCameraInputsManager extends CameraInputsManager<TargetCamera> implements CameraOptions {
    /**
     */
    _mouseRotationInput: Nullable<TwinfinityTargetCameraMouseRotationInput>;
    _mousePanInput: Nullable<TwinfinityTargetCameraMousePanInput<PivotTargetCamera>>;
    _mouseZoomInput: Nullable<TwinfinityTargetCameraMouseZoomInput<PivotTargetCamera>>;
    _touchInput: Nullable<TwinfinityCameraTouchInput>;
    _keyboardInput: Nullable<TwinfinityTargetCameraKeyboardInput<PivotTargetCamera>>;
    isPanEnabled: boolean;
    isZoomEnabled: boolean;
    isRotationEnabled: boolean;
    isKeyboardMoveEnabled: boolean;
    mode: CameraMode;
    /**
     * Instantiates a new TwinfinityTargetCameraInputsManager.
     * @param camera Defines the camera the inputs belong to
     */
    constructor(camera: TargetCamera);
    /**
     * Add left mouse button input support to the input manager.
     * This is used for rotation for PivotTargetCamera
     * @returns the current input manager
     */
    addMouseRotation(): TwinfinityTargetCameraInputsManager;
    /**
     * Removes the left mouse button input support from the manager
     * @returns the current input manager
     */
    removeMouseRotation(): TwinfinityTargetCameraInputsManager;
    /**
     * Add middle mouse button input support to the input manager.
     * This is used for panning the PivotTargetCamera
     * @returns the current input manager
     */
    addMousePan(): TwinfinityTargetCameraInputsManager;
    /**
     * Removes the middle mouse button input support from the manager
     * @returns the current input manager
     */
    removeMousePan(): TwinfinityTargetCameraInputsManager;
    /**
     * Add mouse scroll wheel input support to the input manager.
     * This is used for zooming in and out the TargetCamera
     * @returns the current input manager
     */
    addMouseZoom(): TwinfinityTargetCameraInputsManager;
    /**
     * Removes the mouse scroll wheel input support from the manager
     * @returns the current input manager
     */
    removeMouseZoom(): TwinfinityTargetCameraInputsManager;
    /**
     * Add keyboard input support to the input manager.
     * @returns the current input manager
     */
    addKeyboard(): TwinfinityTargetCameraInputsManager;
    /**
     * Removes the keyboard input support from the manager
     * @returns the current input manager
     */
    removeKeyboard(): TwinfinityTargetCameraInputsManager;
    /**
     * Add touch rotation input support to the input manager.
     * This is used when one finger is touching the screen
     * @returns the current input manager
     */
    addTouch(): TwinfinityTargetCameraInputsManager;
    /**
     * Removes touch rotation input support from the manager
     * @returns the current input manager
     */
    removeTouch(): TwinfinityTargetCameraInputsManager;
    /**
     * Remove all attached input methods from this PivotTargetCamera
     */
    clear(): void;
}
//# sourceMappingURL=TwinfinityTargetCameraInputsManager.d.ts.map