import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { SelectType, SelectValueType } from '../../types';
/** The `VegaInputSelectValueController` class is a TypeScript React component that handles the value and change events for an input select component. */
export declare class VegaInputSelectValueController extends VegaSlimmer {
  private value;
  private selectType;
  private changeEventEmitter;
  private host;
  private sourceController;
  private vegaInputSelectItemController;
  private vegaDropdownProps;
  /**
   * handle the value change when the component watchValue call
   *
   * @param {SelectValueType<SelectType>} newValue the new value
   * @param {SelectValueType<SelectType>} oldValue the old value
   */
  handleValueChange: (newValue: SelectValueType<SelectType>, oldValue: SelectValueType<SelectType>) => void;
  /**
   * The function sets the value of a select input if it passes a value guard check.
   *
   * @param {unknown} value - The `value` parameter is the value that you want to set for the `value` property. It
   * can be of any type that extends the `SelectType` type.
   */
  setValue<T extends SelectType>(value: SelectValueType<T>): void;
  /**
   * The function `valueGuard` checks if the input value is valid based on the select type.
   *
   * @param {SelectValueType<SelectType>} value - The `value` parameter is of type `SelectValueType<SelectType>`.
   * @returns {boolean} a boolean value.
   */
  private valueGuard;
}
