import { DOM } from '@antv/l7-utils';
import Control, { IControlOption } from './control';
export { ButtonControl };
export interface IButtonControlOption extends IControlOption {
    btnIcon?: DOM.ELType | DocumentFragment;
    btnText?: string;
    title?: string;
    vertical?: boolean;
}
export default class ButtonControl<O extends IButtonControlOption = IButtonControlOption> extends Control<O> {
    /**
     * 当前按钮是否禁用
     * @protected
     */
    protected isDisable: boolean;
    /**
     * 按钮的 DOM
     * @protected
     */
    protected button?: HTMLElement;
    /**
     * 按钮中文本对应的 DOM
     * @protected
     */
    protected buttonText?: HTMLElement;
    /**
     * 按钮中图标对应的 DOM
     * @protected
     */
    protected buttonIcon?: DOM.ELType | DocumentFragment;
    /**
     * 设置当前按钮
     * @param newIsDisable
     */
    setIsDisable(newIsDisable: boolean): void;
    createButton(className?: string): HTMLElement;
    onAdd(): HTMLElement;
    onRemove(): void;
    /**
     * 更新配置方法
     * @param newOptions
     */
    setOptions(newOptions: Partial<O>): void;
    /**
     * 设置按钮 title
     * @param title
     */
    setBtnTitle(title: O['title']): void;
    /**
     * 设置按钮 Icon
     * @param newIcon
     */
    setBtnIcon(newIcon: O['btnIcon']): void;
    /**
     * 设置按钮文本
     * @param newText
     */
    setBtnText(newText: O['btnText']): void;
}
