import { EventEmitter } from '../../../stencil-public-runtime';
import { GlobalSlimmers } from '../../../vega-slimmer/vega-slimmer-core';
import { VegaSelectionChipGroupRenderer } from './slimmers/renderers/vega-selection-chip-group-renderer';
import { VegaSelectionChipGroupValueController } from './slimmers/controllers/vega-selection-chip-group-value-controller';
import { VegaSelectionChipGroupItemsController } from './slimmers/controllers/vega-selection-chip-group-items-controller';
import { FormFieldValidationRule } from '../../../helpers/validator/rules/form-field-validation-rule';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
import { VegaSelectionChipGroupSelectType } from './interface';
import { SubStateNotifySlimmerBase } from '../../../helpers/slimmers/sub-state/sub-state-notify-slimmer-base';
import { ChildNodesEventPreventSlimmer } from '../../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { FormFieldControllerSlimmer } from '../../../helpers/slimmers/form-field-controller-slimmer';
import { EventEmitSlimmerBase } from '../../../helpers/event-manager/slimmers/event-emit-slimmer';
/**
 * @vegaVersion 2.22.0
 */
export declare class VegaSelectionChipGroup {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly renderer: VegaSelectionChipGroupRenderer;
  protected readonly itemsController: VegaSelectionChipGroupItemsController;
  protected readonly valueController: VegaSelectionChipGroupValueController;
  protected readonly formFieldController: FormFieldControllerSlimmer<string | string[]>;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaSelectionChipGroupElement>;
  protected changeEventEmitter: EventEmitSlimmerBase;
  protected readonly valueNotifySlimmer: SubStateNotifySlimmerBase;
  protected readonly disabledNotifySlimmer: SubStateNotifySlimmerBase;
  protected readonly selectTypeNotifySlimmer: SubStateNotifySlimmerBase;
  protected changeEventPrevent: ChildNodesEventPreventSlimmer;
  host: HTMLVegaSelectionChipGroupElement;
  /**
   * Specifies the label or title for the selection chip group.
   *    It provides descriptive text that helps identify
   *    the purpose of the selection chip group.
   *
   * @vegaVersion 2.22.0
   */
  label: string;
  /**
   * Provides a supplementary prompt message that
   *    assists users in selecting the appropriate
   *    value for the selection chip group.
   *
   * @vegaVersion 2.22.0
   */
  hint: string;
  /**
   * Determines the selection method for the chip group.
   *
   * @vegaVersion 2.22.0
   */
  selectType: VegaSelectionChipGroupSelectType;
  watchSelectType(): void;
  /**
   * Stores the selected values of the nested selection chips
   *    within the selection chip group.
   *
   * @vegaVersion 2.22.0
   */
  value: string | string[];
  watchValue(): void;
  /**
   * Indicates whether at least one selection chip in the
   *    selection chip group must be checked to pass
   *    form validation.
   *
   * @vegaVersion 2.22.0
   */
  required: boolean;
  /**
   * Indicates if the selection chip group is disabled.
   *
   * @vegaVersion 2.22.0
   */
  disabled: boolean;
  watchDisabled(): void;
  /**
   * Defines custom validation rules for the selection chip group field.
   *
   * @vegaVersion 2.22.0
   */
  validationRules: FormFieldValidationRule<unknown>[];
  watchValidationRules(): void;
  /**
   * Sets the validation status for the selection chip group.
   *
   * @vegaVersion 2.22.0
   */
  isValid: boolean;
  /**
   * An event emitter notifying changes in the value of the selection chip group,
   *    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 group,
   *    whether triggered programmatically or through user interaction.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.22.0
   */
  change: EventEmitter<string>;
  render(): VegaSelectionChipGroup;
}
