import { EventEmitter } from '../../../stencil-public-runtime';
import { GlobalSlimmers } from '../../../vega-slimmer/vega-slimmer-core';
import { VegaDropdownItemRenderer } from './slimmers/renderers/vega-dropdown-item-renderer';
import { VegaDropdownItemStateController } from './slimmers/controllers/vega-dropdown-item-state-controller';
import { VegaDropdownItemClickEvent } from './types';
import { VegaDropdownItemClickController } from './slimmers/controllers/vega-dropdown-item-click-controller';
import { ChildNodesEventPreventSlimmer } from '../../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { EventEmitSlimmerBase } from '../../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.47.0
 */
export declare class VegaDropdownItem {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly renderer: VegaDropdownItemRenderer;
  protected readonly vegaDropdownItemStateController: VegaDropdownItemStateController;
  protected readonly vegaDropdownItemClickController: VegaDropdownItemClickController;
  protected dropdownItemEventPrevent: ChildNodesEventPreventSlimmer;
  protected clickEventEmitter: EventEmitSlimmerBase;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaDropdownItemElement>;
  host: HTMLVegaDropdownItemElement;
  /**
   * Configures selection behavior.
   */
  selectType?: 'multiple' | 'single' | 'none';
  /**
   * The placeholder of prefix icon, while other item have prefix icon but no in this item,
   * if you want to keep those items align, you can set this placeholder as true.
   */
  prefixIconSlot?: boolean;
  /**
   * Specifies the dropdown item's selected status.
   */
  selected: boolean;
  /**
   * Specifies the dropdown item's rule of display.
   */
  itemDisplayRule: 'ellipsis' | 'newline';
  /**
   * Tooltip configuration for the dropdown item.
   */
  itemTooltipProps: Partial<Pick<HTMLVegaTooltipElement, 'placement' | 'maxWidth' | 'minWidth'>>;
  /**
   * Specifies the label for the dropdown item.
   *
   * @vegaVersion 1.47.0
   */
  label: string;
  /**
   * Specifies the key for the dropdown item.
   *
   * @vegaVersion 1.47.0
   */
  itemKey: string;
  /**
   * Specifies the dropdown item's count.
   *
   * @vegaVersion 1.47.0
   */
  count: number;
  /**
   * Specifies the prefix icon for the dropdown item.
   *
   * @vegaVersion 1.47.0
   */
  prefixIcon: string;
  /**
   * Specifies the disabled status of the dropdown item.
   *
   * @vegaVersion 1.47.0
   */
  disabled: boolean;
  /**
   * Specifies the height of the dropdown item.
   *
   * @vegaVersion 1.47.0
   */
  height: number;
  /**
   * Specifies whether the dropdown item represents a danger action.
   * 	  It highlights actions that may have critical consequences
   * 	     when the select type is set to none.
   *
   * @vegaVersion 2.25.0
   */
  danger: boolean;
  /**
   * An event emitter notifying the dropdown item has been clicked.
   *
   * @vegaVersion 1.47.0
   */
  vegaClick: EventEmitter<VegaDropdownItemClickEvent>;
  /**
   * An event emitter notifying the dropdown item has been clicked.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.0.0
   */
  click: EventEmitter<VegaDropdownItemClickEvent>;
  render(): VegaDropdownItem;
}
