import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { VegaButtonGroupItem } from '../../vega-button-group-item';
/** The `VegaButtonGroupItemRenderer` class is a TypeScript React component used to render button group items with optional dropdown functionality. */
export declare class VegaButtonGroupItemRenderer extends VegaSlimmer {
  protected host: VegaButtonGroupItem['host'];
  protected size: VegaButtonGroupItem['size'];
  protected icon: VegaButtonGroupItem['icon'];
  protected label: VegaButtonGroupItem['label'];
  protected iconAlign: VegaButtonGroupItem['iconAlign'];
  protected disabled: VegaButtonGroupItem['disabled'];
  protected parentDisabled: VegaButtonGroupItem['parentDisabled'];
  protected allItemsDisabled: VegaButtonGroupItem['allItemsDisabled'];
  protected iconOnly: VegaButtonGroupItem['iconOnly'];
  protected variant: VegaButtonGroupItem['variant'];
  protected itemKey: VegaButtonGroupItem['itemKey'];
  protected dropdownSource: VegaButtonGroupItem['dropdownSource'];
  protected dropdownProps: VegaButtonGroupItem['dropdownProps'];
  /**
   * This function conditionally renders a Vega dropdown component with specified props and a click event handler if there is dropdown source data available, otherwise it renders a button item.
   *
   * @returns {HTMLElement} An HTMLElement is being returned. If the `dropdownSource` exists and has a length greater
   * than 0, a `<vega-dropdown>` element is returned with specified attributes and a reference to a node
   * with an observer attached. If `dropdownSource` does not exist or has a length of 0, the result of
   * `renderButtonItem()` is returned.
   */
  render(): HTMLElement;
  /**
   * The function `renderButtonItemWithTooltip` conditionally renders a button item with a tooltip based on the presence of label and iconOnly properties.
   *
   * @returns {HTMLElement} render the button item or button item with a tooltip
   */
  private renderButtonItemWithTooltip;
  /**
   * The function `renderButtonItem` in TypeScript React conditionally renders a button component based on the variant type.
   *
   * @returns {HTMLElement} The `renderButtonItem` method returns an HTMLElement, which is either a
   * `<vega-button-link>` element if the variant is 'tertiary', or a `<vega-button>` element with
   * specific class and variant attributes if the variant is not 'tertiary'.
   */
  private renderButtonItem;
  /**
   * Handle the button item click event
   */
  private buttonItemClickHandle;
  /**
   * Handle the more button dropdown item click event
   */
  private moreDropdownItemClickHandle;
  /**
   * The function `notifyParentGroup` notifies the parent group component with a specific detail.
   *
   * @param {string} detail - The `detail` parameter in the `notifyParentGroup` function is a string
   * that contains additional information or details that will be passed along when notifying the parent
   * group. It is used to provide context or specific data related to the event or action that triggered
   * the notification.
   */
  private notifyParentGroup;
  /**
   * The function `getButtonProps` returns an object with properties related to a button component.
   *
   * @returns An object with properties `size`, `icon`, `label`, and `iconAlign` is being returned.
   */
  private getButtonProps;
  /**
   * If the item is a more action item and the props label/icon are both empty, return a default label
   *
   * @returns {string} label string
   */
  private getDefaultLabel;
  /**
   * Determines whether the button group item is disabled.
   *
   * The button group item is considered disabled if either:
   * - the item itself is disabled, or
   * - the parent is disabled (which forces all children to be disabled,
   *   regardless of their individual disabled state).
   */
  private isDisabled;
}
