import { BaseView, WINDOW_EVENT_MAP } from "./BaseView";
import "../scss/Button.scss";
export interface BUTTON_EVENT_ITEM_CLICK {
    event: Event;
    button: Button | ImageButton;
}
export interface ButtonEventMap extends WINDOW_EVENT_MAP {
    buttonClick: [BUTTON_EVENT_ITEM_CLICK];
    buttonDblClick: [BUTTON_EVENT_ITEM_CLICK];
}
/**
 *ボタン用クラス
 *
 * @export
 * @class Button
 * @extends {BaseView}
 */
export declare class Button extends BaseView<ButtonEventMap> {
    private nodeText;
    private nodeValue;
    /**
     *Creates an instance of Button.
     * @param {string} [text] ボタンに設定するテキスト
     * @memberof Button
     */
    constructor(...params: [string] | [string, unknown] | [{
        label?: string;
        value?: unknown;
        event?: () => void;
    }]);
    /**
     *ボタンに対してテキストを設定する
     *
     * @param {string} text
     * @memberof Button
     */
    setText(text: string): void;
    /**
     *ボタンに設定したテキストを取得する
     *
     * @returns {string}
     * @memberof Button
     */
    getText(): string | null;
    setAlign(style: string): void;
    getValue(): unknown;
}
export declare class ImageButton extends BaseView<ButtonEventMap> {
    private nodeImg;
    /**
     *Creates an instance of Button.
     * @param {string} [text] ボタンに設定するテキスト
     * @memberof Button
     */
    constructor(image: string, alt?: string);
    /**
     *ボタンに対してテキストを設定する
     *
     * @param {string} text
     * @memberof Button
     */
    setText(text: string): void;
    /**
     *ボタンに設定したテキストを取得する
     *
     * @returns {string}
     * @memberof Button
     */
    getText(): string;
    setAlign(style: string): void;
}
