import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { SelectSourceItem, SelectType, SelectValueType } from '../../types';
import { Nullable } from '../../../../types/general';
/**
 * The `VegaInputSelectSourceController` class manages the source data for
 * a dropdown input component in TypeScript.
 */
export declare class VegaInputSelectSourceController extends VegaSlimmer {
  private host;
  private source;
  private vegaInputSelectItemController;
  /**
   * convert the dropdown source when the component watchSource call
   */
  handleSourceChange: () => void;
  /**
   * Append items to source
   *
   * @param {SelectSourceItem[]} items - Appendable items
   */
  appendSourceItems(items: SelectSourceItem[]): void;
  /**
   * This TypeScript function retrieves an item from a source array based on its ID.
   *
   * @param {SelectValueType<SelectType>} id - The `id` parameter in the `getItem` function is of type `SelectValueType<SelectType>`,
   * which means it can accept a value that corresponds to the `SelectType` defined in the function.
   * @returns { Nullable<SelectSourceItem>} The `getItem` function is returning a `SelectSourceItem` object that matches the provided
   * `id`, or `null` if no matching item is found in the `source` array.
   */
  getItem(id: SelectValueType<SelectType>): Nullable<SelectSourceItem>;
}
