import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { VegaSelectionChipGroup } from '../../vega-selection-chip-group';
import { MutationObserverSlimmer } from '../../../../../helpers/slimmers/mutation-observer/mutation-observer-slimmer';
/**
 * Observer child items change to update value.
 */
export declare class VegaSelectionChipGroupItemsController extends VegaSlimmer {
  host: VegaSelectionChipGroup['host'];
  selectType: VegaSelectionChipGroup['selectType'];
  valueController: VegaSelectionChipGroup['valueController'];
  value: VegaSelectionChipGroup['value'];
  protected mutationObserver: MutationObserverSlimmer;
  private selectionChipArray;
  /**
   * Component lifecycle - [disconnectedCallback]
   */
  disconnectedCallback(): void;
  /**
   * Component lifecycle - [componentWillLoad]
   */
  componentWillLoad(): void;
  /**
   * Component lifecycle - [componentDidLoad]
   */
  componentDidLoad(): void;
  /**
   * watchSelectType
   */
  watchSelectType(): void;
  /**
   * The function returns current chip items array.
   *
   * @returns {HTMLVegaSelectionChipElement[]} - current chip items.
   */
  getSelectionChipArray(): HTMLVegaSelectionChipElement[];
  /**
   * Synchronizes the selection chip array and the selected value based on the select type.
   *
   * @param {MutationRecord[]} mutations - Mutations record
   */
  private syncChipArrayAndValue;
  /**
   * Sets the value of an element based on the checked items in a selection chip array.
   */
  private setValueFromCheckboxItems;
  /**
   * Sets the value of a radio item based on the checked status of the items.
   *
   * @param {MutationRecord[]} mutations - Mutations record
   */
  private setValueFromRadioItems;
  /**
   * Find the changed attribute mutation record.
   *
   * @param {MutationRecord[]} mutations - Mutations record
   * @returns {Nullable<MutationRecord>} - Changed attribute mutation record..
   */
  private findAttributeMutation;
  /**
   * Get the current checked chip element from mutation.
   *
   * @param {MutationRecord} mutation - mutation.
   * @returns {Nullable<HTMLVegaSelectionChipElement>} The current checked chip.
   */
  private getCurrentChip;
  /**
   * Get the first checked chip element from an array of selection chips.
   *
   * @returns {Nullable<HTMLVegaSelectionChipElement>} The first checked chip.
   */
  private getFirstCheckedChip;
}
