import { MouseHandlerEvent } from "../input";
import { Color } from "../terminal";
import { Widget, WidgetConfig } from "./widget";
import { BorderStyles } from "./util/draw-borders";
export interface ButtonWidgetState {
    text: string;
    backColor?: Color;
    foreColor?: Color;
    hoverColor?: Color;
    downColor?: Color;
    padding?: number;
    onClick?: () => void;
    mouseButton?: number;
    borderStyle?: BorderStyles;
}
export declare enum HoverState {
    None = 0,
    Hover = 1,
    Down = 2
}
export declare class ButtonWidget extends Widget<ButtonWidgetState> {
    constructor(config: WidgetConfig<ButtonWidgetState>);
    private getPadding;
    private getBounds;
    private getMouseStateFromMouseHandler;
    private getBackColor;
    onMouseClick(event: MouseHandlerEvent): boolean;
    onDraw(): void;
}
