import { Entity } from "../entity";
import { Board } from "../board";
export declare class Container extends Entity {
    private _clicked;
    private _entities;
    constructor(x: number, y: number, width: number, height: number, entities?: Entity[]);
    init(board: Board): void;
    private onMouseDown;
    private onMouseUp;
    private onMouseEnter;
    private onMouseLeave;
    intersect(x: number, y: number, event?: Event | null, depth?: number): boolean;
    addEntity(entity: Entity): void;
    addEntities(entities: Entity[]): void;
    removeEntity(entity: Entity): void;
    removeEntities(entities: Entity[]): void;
    getEntitiesIn(x1: number, y1: number, x2: number, y2: number): Entity[];
    /**
     * Find an entity by id
     * @param id
     * @param recursive search recursively in entity that can contains other entities (like Entities.Container)
     * @return Entity found entity with the given id or undefined if not found
     */
    findEntity(id: string, recursive?: boolean): Entity | undefined;
    clear(): void;
    get clicked(): boolean;
    set clicked(clicked: boolean);
    draw(ctx: CanvasRenderingContext2D): void;
    countEntities(): number;
    set board(value: Board | null);
    get board(): Board | null;
    update(delta: number): void;
    checkCollisions(): void;
    /*********************
     * Getters & Setters *
     *********************/
    get entities(): Entity[];
    set entities(value: Entity[]);
}
