import { Room } from "../Room";
import { IWallConfiguration } from "../../../interfaces/Room.interface";
import { Container } from "pixi.js";
/**
 * Wall class that show up on the sides of the tiles.
 *
 * @class
 * @memberof Scuti
 */
export declare class Wall extends Container {
    /**
     * The room instance where the wall will be drawn.
     *
     * @member {Room}
     * @private
     */
    private _room;
    /**
     * The thickness of the wall part.
     *
     * @member {number}
     * @private
     */
    private _thickness;
    /**
     * The wall material that will be applied to this part, it contains the color and the texture of the wall.
     *
     * @member {Material}
     * @private
     */
    private _material;
    /**
     * The wall height, the height is added to the base height of the room.
     *
     * @member {number}
     * @private
     */
    private _height;
    /**
     * The wall position.
     *
     * @member {IPosition3D}
     * @private
     */
    private _position;
    /**
     * The wall type.
     *
     * @member {WallType}
     * @private
     */
    private _type;
    /**
     * @param {Room} [room] - The room instance where the wall will be drawn.
     * @param {IWallConfiguration} [configuration] - The wall configuration.
     * @param {Material} [configuration.material] - The wall material that will be applied.
     * @param {number} [configuration.thickness] - The wall thickness.
     * @param {number} [configuration.height] - The wall height.
     * @param {IPosition3D} [configuration.position] - The wall position.
     * @param {WallType} [configuration.type] - The wall type.
     * @param {boolean} [configuration.door] - Is it a door wall?
     **/
    constructor(room: Room, configuration: IWallConfiguration);
    /**
     * Select which wall should be drawn by it's type.
     *
     * @return {void}
     * @private
     */
    private _draw;
    /**
     * Draw the wall using the given points.
     *
     * @param {IPosition2D[]} [points] - The point list that will be used to draw the wall.
     * @return {void}
     * @private
     */
    private _drawWall;
}
