import { DropdownPropsForButtonGroup, VegaButtonGroupIconAlign, VegaButtonGroupSize, VegaButtonGroupVariant } from '../types';
import { GlobalSlimmers } from '../../../vega-slimmer/vega-slimmer-core';
import { VegaButtonGroupItemSubStateController } from './slimmers/controllers/vega-button-group-item-sub-state-controller';
import { DropdownSourceGroup, DropdownSourceItem } from '../../vega-dropdown/types';
import { VegaButtonGroupItemRenderer } from './slimmers/renderers/vega-button-group-item-renderer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 2.5.0
 */
export declare class VegaButtonGroupItem {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected subStateObserverSlimmer: VegaButtonGroupItemSubStateController;
  protected buttonGroupItemRenderer: VegaButtonGroupItemRenderer;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaButtonGroupItemElement>;
  host: HTMLVegaButtonGroupItemElement;
  variant: VegaButtonGroupVariant;
  size: VegaButtonGroupSize;
  iconAlign: VegaButtonGroupIconAlign;
  parentDisabled: boolean;
  allItemsDisabled: boolean;
  /**
   * Specifies the icon to be displayed on the button item,
   *    which can be selected from a list of predefined icon tokens
   *    or specified using a Font Awesome class.
   *
   * @vegaVersion 2.5.0
   */
  icon: string;
  /**
   * Specifies the text displayed on the button item.
   *
   * @vegaVersion 2.5.0
   */
  label: string;
  /**
   * Specifies whether to display the icon only.
   *
   * @vegaVersion 2.5.0
   */
  iconOnly: boolean;
  /**
   * Specifies whether the button group item is disabled.
   *
   * @vegaVersion 2.72.0
   */
  disabled: boolean;
  /**
   * Specifies the unique key for the button item.
   *
   * @vegaVersion 2.5.0
   */
  itemKey: string;
  /**
   * Specifies the properties for the dropdown menu that appears when the button group contains more than one button item.
   *
   * @vegaVersion 2.5.0
   */
  dropdownProps: DropdownPropsForButtonGroup;
  /**
   * Defines the data source used to populate the dropdown menu when the button group contains more than one button item.
   *
   * @vegaVersion 2.5.0
   */
  dropdownSource: (DropdownSourceGroup | DropdownSourceItem)[];
  render(): VegaButtonGroupItem;
}
