import { EventEmitter } from '../../stencil-public-runtime';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaSelectionChipRenderer } from './slimmers/renderers/vega-selection-chip-renderer';
import { VegaSelectionChipCheckedController } from './slimmers/controllers/vega-selection-chip-checked-cotroller';
import { VegaSelectionChipStateController } from './slimmers/controllers/vega-selection-chip-state-controller';
import { VegaSelectionChipShowErrorController } from './slimmers/controllers/vega-selection-chip-show-error-controller';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { ResponsiveType } from '../../types/ui.type';
import { VegaSelectionChipSize, VegaSelectionChipTooltipProps, VegaSelectionChipVariant } from './interface';
import { BackgroundColorsTokenType, BreakpointsTokenType } from '../../types/design-token.type';
import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaSelectionChipGroupSelectType } from './vega-selection-chip-group/interface';
/**
 * @vegaVersion 2.22.0
 */
export declare class VegaSelectionChip {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly renderer: VegaSelectionChipRenderer;
  protected readonly checkedController: VegaSelectionChipCheckedController;
  protected readonly stateController: VegaSelectionChipStateController;
  protected readonly showErrorController: VegaSelectionChipShowErrorController;
  protected readonly pageResizeObserverSlimmer: PageResizeObserverSlimmer;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaSelectionChipElement>;
  protected changeEventEmitter: EventEmitSlimmerBase;
  host: HTMLVegaSelectionChipElement;
  /**
   * Indicates whether the parent selection chip group shows error message.
   */
  showError: boolean;
  currentBreakpoint: BreakpointsTokenType;
  selectType: VegaSelectionChipGroupSelectType;
  /**
   * Specifies the label or title for the selection chip.
   * It provides descriptive text that helps identify
   *    the purpose of the selection chip.
   *
   * @vegaVersion 2.22.0
   */
  label: string;
  /**
   * Specifies the size of the selection chip.
   *
   * @vegaVersion 2.22.0
   */
  size: ResponsiveType<VegaSelectionChipSize>;
  watchSize(): void;
  /**
   * Determines the rendering style for the selection chip.
   *
   * @vegaVersion 2.22.0
   */
  variant: VegaSelectionChipVariant;
  /**
   * Indicates if the selection chip is disabled.
   *
   * @vegaVersion 2.22.0
   */
  disabled: boolean;
  /**
   * Determines if the selection chip is checked.
   *
   * @vegaVersion 2.22.0
   */
  checked: boolean;
  /**
   * Defines the display behavior of the selection chip.
   * This property controls how the chip is presented
   *    in relation to surrounding elements.
   *
   * @vegaVersion 2.22.0
   */
  block: boolean;
  /**
   * Specifies the `vega-tooltip` displayed for the selection chip
   *    when it is in a disabled state.
   * This provides additional context or information about the chip's
   *    functionality or reason for being disabled.
   *
   * @vegaVersion 2.22.0
   */
  disabledTooltip: VegaSelectionChipTooltipProps;
  /**
   * Defines the background color of the swatch.
   * It accepts a string value representing a valid
   *    background color token,
   *    which customizes the chip appearance.
   *
   * @vegaVersion 2.22.0
   */
  swatchColor: BackgroundColorsTokenType;
  /**
   * Stores the value associated with the selection chip
   *    when it is checked or unchecked.
   * @vegaVersion 2.22.0
   */
  value: string;
  /**
   * An event emitter notifying changes in the value of the selection chip,
   *    whether triggered programmatically or through user interaction.
   *
   * @vegaVersion 2.22.0
   */
  vegaChange: EventEmitter<string>;
  /**
   * An event emitter notifying changes in the value of the selection chip,
   *    whether triggered programmatically or through user interaction.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.22.0
   */
  change: EventEmitter<string>;
  componentWillRender(): void;
  render(): VegaSelectionChip;
}
