import { Entity } from './Entity';
import * as ROT from 'rot-js';
import { Tile } from './Tile';
import { Vector3d } from './Vector3d';
import { Item } from './Item';
export declare class Map {
    private height;
    private width;
    private depth;
    private tiles;
    private entities;
    private items;
    private engine;
    private scheduler;
    private player;
    constructor(tiles: Array<[]>, player: Entity);
    getWidth(): number;
    getHeight(): number;
    getDepth(): number;
    getTile(pos: Vector3d): Tile;
    dig(pos: Vector3d): void;
    getRandomFloorPosition(z: number): Vector3d;
    getEngine(): ROT.Engine;
    getEntities(): {};
    getEntityAt(x: number, y: number, z: number): Entity | null;
    addEntity(entity: Entity): void;
    addEntityAtRandomPosition(entity: Entity, z: number): void;
    removeEntity(entity: Entity): void;
    updateEntityPosition(entity: Entity, oldPosition?: Vector3d): void;
    getItemsAt(x: number, y: number, z: number): any;
    setItemsAt(x: number, y: number, z: number, items: Item[]): void;
    addItem(x: number, y: number, z: number, item: Item): void;
    addItemAtRandomPosition(item: Item, z: number): void;
    getPlayer(): Entity;
}
