import { Board } from "../board";
import { Entity } from "../entity";
import { Dispatcher } from "../../classes/Dispatcher";
export declare class Inputtext extends Entity {
    protected _inputDispatcher: Dispatcher;
    private _padding;
    private _strokeColor;
    private _fillColor;
    private _fontSize;
    private _fontColor;
    private _focusStrokeColor;
    private _focusFillColor;
    private _focusFontSize;
    private _focusFontColor;
    private _hoverStrokeColor;
    private _hoverFillColor;
    private _hoverFontSize;
    private _hoverFontColor;
    private _hoverCursor;
    private _clickStrokeColor;
    private _clickFillColor;
    private _clickFontSize;
    private _clickFontColor;
    private _clicked;
    private _disabledStrokeColor;
    private _disabledFillColor;
    private _disabledFontSize;
    private _disabledFontColor;
    private _placeholderFontColor;
    private _radius;
    private _input;
    constructor(x: number, y: number, width: number, height: number, text?: string);
    onchange(cb: (evt: FocusEvent) => void): void;
    onfocus(cb: (evt: FocusEvent) => void): void;
    onblur(cb: (evt: FocusEvent) => void): void;
    private createInput;
    init(board: Board): void;
    draw(ctx: CanvasRenderingContext2D): void;
    onDestroy(): void;
    update(delta: number): void;
    set text(value: string);
    get text(): string;
    get placeholder(): string;
    set placeholder(value: string);
    /*********************
     * Getters & Setters *
     *********************/
    get padding(): {
        top: number;
        left: number;
        bottom: number;
        right: number;
    };
    set padding(value: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    });
    get focusStrokeColor(): string;
    set focusStrokeColor(value: string);
    get focusFillColor(): string;
    set focusFillColor(value: string);
    get focusFontSize(): number;
    set focusFontSize(value: number);
    get focusFontColor(): string;
    set focusFontColor(value: string);
    get hoverFillColor(): string;
    set hoverFillColor(value: string);
    get hoverStrokeColor(): string;
    set hoverStrokeColor(value: string);
    get hoverFontColor(): string;
    set hoverFontColor(value: string);
    get hoverFontSize(): number;
    set hoverFontSize(value: number);
    get hoverCursor(): string;
    set hoverCursor(value: string);
    get fillColor(): string;
    set fillColor(value: string);
    get strokeColor(): string;
    set strokeColor(value: string);
    get fontColor(): string;
    set fontColor(value: string);
    get fontSize(): number;
    set fontSize(value: number);
    get clickFillColor(): string;
    set clickFillColor(value: string);
    get clickStrokeColor(): string;
    set clickStrokeColor(value: string);
    get clickFontColor(): string;
    set clickFontColor(value: string);
    get clickFontSize(): number;
    set clickFontSize(value: number);
    get disabledStrokeColor(): string;
    set disabledStrokeColor(value: string);
    get disabledFillColor(): string;
    set disabledFillColor(value: string);
    get disabledFontSize(): number;
    set disabledFontSize(value: number);
    get disabledFontColor(): string;
    set disabledFontColor(value: string);
    get radius(): {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    };
    set radius(value: {
        tl: number;
        tr: number;
        br: number;
        bl: number;
    });
    get placeholderFontColor(): string;
    set placeholderFontColor(value: string);
}
/**
 * @deprecated use {@link Inputtext} instead
 */
export declare class ExperimentalInputtext extends Inputtext {
}
