export default TileGridView;
declare class TileGridView extends View<HTMLElement> {
    /**
     * @param {TileGrid} model
     * @param {DragAndDropContext} [dragAndDropContext]
     * @param {boolean} [enableDragAndDrop]
     * @param {Vector2} [tileSize]
     * @param {Vector2} [tileSpacing]
     * @param {function(View, Rectangle)} [hookTileAdded]
     * @param {function(View, Rectangle)} [hookTileRemoved]
     * @param {function()} [hookInvalidDrop]
     * @param {boolean} [captureEventTap]
     * @constructor
     */
    constructor({ model, dragAndDropContext, enableDragAndDrop, tileSize, tileSpacing, hookTileAdded, hookTileRemoved, hookInvalidDrop, captureEventTap, }: TileGrid);
    /**
     *
     * @type {TileGrid}
     */
    model: TileGrid;
    /**
     *
     * @type {DragAndDropContext}
     * @private
     */
    private __dragAndDropContext;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __enableDragAndDrop;
    /**
     *
     * @type {Vector2}
     * @private
     */
    private __tileSize;
    /**
     *
     * @type {Vector2}
     * @private
     */
    private __tileSpacing;
    /**
     *
     * @type {Function}
     * @private
     */
    private __hookTileAdded;
    /**
     *
     * @type {Function}
     * @private
     */
    private __hookTileRemoved;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __captureEventTap;
    /**
     *
     * @type {function()}
     * @private
     */
    private __hookInvalidDrop;
    el: Element;
    __markerCountainer: View<HTMLElement>;
    slots: any[];
    /**
     *
     * @param {Draggable} draggable
     * @param {number} cell_x
     * @param {number} cell_y
     * @return {boolean}
     * @private
     */
    private __validateDrop;
    /**
     *
     * @param {Draggable} draggable What was being dragged
     * @param {DropTarget} dropTarget Where the drop was attempted
     * @private
     */
    private __handleInvalidDrop;
    __makeSlotView(x: any, y: any): SlotView;
    /**
     *
     * @param {number} width
     * @param {number} height
     */
    generateSlots(width: number, height: number): void;
    /**
     *
     * @param {Rectangle} tile
     */
    addTile(tile: Rectangle): void;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @return {View}
     */
    getSlot(x: number, y: number): View;
    /**
     *
     * @param {Rectangle} tile
     */
    removeTile(tile: Rectangle): void;
    /**
     *
     * @param {Rectangle} tile
     * @return {View}
     */
    findTileView(tile: Rectangle): View;
    getChildByUUID(uuid: any): any;
}
import View from "../../View.js";
declare class SlotView extends View<HTMLElement> {
    constructor();
    el: Node;
}
//# sourceMappingURL=TileGrid.d.ts.map