import { Entity } from "../entity";
export declare class Rectangle extends Entity {
    protected _strokeColor: string;
    protected _fillColor: string;
    protected _hoverStrokeColor: string;
    protected _hoverFillColor: string;
    protected _clickStrokeColor: string;
    protected _clickFillColor: string;
    protected _radius: {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    };
    protected _clicked: boolean;
    constructor(x: number, y: number, width: number, height: number, strokeColor?: string | null, fillColor?: string | null, hoverStrokeColor?: string | null, hoverFillColor?: string | null, clickStrokeColor?: string | null, clickFillColor?: string | null, radius?: {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    } | null);
    private onMouseDown;
    private onMouseUp;
    private onMouseEnter;
    private onMouseLeave;
    get clicked(): boolean;
    set clicked(clicked: boolean);
    draw(ctx: CanvasRenderingContext2D): void;
    getPath2D(): Path2D;
    update(delta: number): void;
    /*********************
     * Getters & Setters *
     *********************/
    get hoverFillColor(): string;
    set hoverFillColor(value: string);
    get hoverStrokeColor(): string;
    set hoverStrokeColor(value: string);
    get fillColor(): string;
    set fillColor(value: string);
    get strokeColor(): string;
    set strokeColor(value: string);
    get clickFillColor(): string;
    set clickFillColor(value: string);
    get clickStrokeColor(): string;
    set clickStrokeColor(value: string);
    get radius(): {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    };
    set radius(value: {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    });
}
