import { VegaSlimmer } from '../../../../../../../vega-slimmer/vega-slimmer-core';
import { VegaRichTextTableSetting } from '../../vega-rich-text-table-setting';
export declare type RTETableSettingButtonProps = {
  icon: string;
  title: string;
  showArrowIcon?: boolean;
};
export declare abstract class TableSettingButtonSlimmer extends VegaSlimmer {
  protected hasCaption: VegaRichTextTableSetting['hasCaption'];
  protected vegaClick: VegaRichTextTableSetting['vegaClick'];
  protected selectedCells: VegaRichTextTableSetting['selectedCells'];
  protected readonly icon: RTETableSettingButtonProps['icon'];
  private readonly title;
  private readonly showArrowIcon;
  protected constructor({ icon, title, showArrowIcon }: RTETableSettingButtonProps);
  render(): HTMLElement;
  protected emitClickEvent(setting: Array<string>): void;
  /**
   * Prevent the default behavior to keep the cursor position.
   *
   * @param {Event} e - The event object.
   */
  protected preventDefaultEvent(e: Event): void;
  /**
   * The wrapper for the button.
   *
   * @returns {HTMLElement} - The button wrapper.
   */
  protected renderBtnWrapper?(renderBtn: () => HTMLElement): HTMLElement;
  protected getTitle(): string;
  private renderBtn;
  private getIconColor;
  protected abstract isSelected(): boolean;
  protected abstract isDisabled(): boolean;
  protected abstract handleClick(e?: MouseEvent): void;
}
