import { Room } from "./Room";
import { Container } from "pixi.js";
/**
 * RoomCamera class that manage things like the room dragging or detecting if the room is out of bounds.
 *
 * @class
 * @memberof Scuti
 */
export declare class RoomCamera extends Container {
    /**
     * The room instance that will be managed by the camera.
     *
     * @member {Room}
     * @private
     */
    private readonly _room;
    /**
     * A boolean indicating if the room is being dragged.
     *
     * @member {boolean}
     * @private
     */
    private _dragging;
    /**
     * The container that will act as a trigger to drag the room container.
     *
     * @member {Container}
     * @private
     */
    private readonly _viewContainer;
    /**
     * The container that will contain the room.
     *
     * @member {Container}
     * @private
     */
    private readonly _roomContainer;
    /**
     * The current selected tile.
     *
     * @member {Tile | Stair}
     * @private
     */
    private _selectedTile;
    /**
     * @param {Room} [room] - The room instance that will be managed by this camera.
     */
    constructor(room: Room);
    /**
     * Update the room container bounds.
     *
     * @return {void}
     * @private
     */
    private _updateBounds;
    /**
     * Tween the room container at the center of the PixiJS view.
     *
     * @return {void}
     * @private
     */
    private _centerCamera;
    /**
     * This method is called when the user start dragging the room.
     *
     * @return {void}
     * @private
     */
    private _dragStart;
    /**
     * This method is called when the user stop dragging the room.
     *
     * @return {void}
     * @private
     */
    private _dragEnd;
    /**
     * This method is called when the user is moving the dragged room in the canvas.
     *
     * @param {FederatedPointerEvent} [event] - The mouse event.
     * @return {void}
     * @private
     */
    private _dragMove;
    /**
     * Indicate if the room container is out of bounds of the PixiJS view.
     *
     * @return {boolean}
     * @private
     */
    private _isOutOfBounds;
    /**
     * Manage pointer down event on the canvas for tile interaction.
     *
     * @return {void}
     * @private
     */
    private _tilePointerDown;
    /**
     * Manage pointer up event on the canvas for tile interaction.
     *
     * @return {void}
     * @private
     */
    private _tilePointerUp;
    /**
     * Manage pointer move event on the canvas for tile interaction.
     *
     * @return {void}
     * @private
     */
    private _tilePointerMove;
}
