import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaTimePicker } from '../../vega-time-picker';
/** The `VegaTimePickerRangeDropdownRenderer` class is a TypeScript React component that renders a dropdown for selecting a range of time values. */
export declare class VegaTimePickerRangeDropdownRenderer extends VegaSlimmer {
  timeFormat: VegaTimePicker['timeFormat'];
  value: VegaTimePicker['value'];
  dropdownSource: VegaTimePicker['dropdownSource'];
  valueController: VegaTimePicker['valueController'];
  rangeInputRenderer: VegaTimePicker['rangeInputRenderer'];
  startDropdownController: VegaTimePicker['startDropdownController'];
  endDropdownController: VegaTimePicker['endDropdownController'];
  private startDropdown;
  private endDropdown;
  private startDropdownContainer;
  private endDropdownContainer;
  private isMobileDevice;
  private isTabletDevice;
  /**
   * Component lifecycle - [componentDidRender]{@link VegaTimePicker.componentDidRender}
   */
  componentDidRenderCallback(): void;
  /**
   * The function returns a reference to the startDropdown element.
   *
   * @returns {HTMLElement} the startDropdown element, which is of type HTMLElement.
   */
  getStartDropdownRef(): HTMLElement;
  /**
   * The function returns a reference to the endDropdown element.
   *
   * @returns {HTMLElement} the startDropdown element, which is of type HTMLElement.
   */
  getEndDropdownRef(): HTMLElement;
  /**
   * The function returns the selected elements. If elements is empty, it returns the first option by default.
   *
   * @returns {HTMLElement[]} returns an array of HTMLElements.
   */
  getSelectedItem(): HTMLElement[];
  render(): HTMLElement;
  /** The `renderStartDropdown` method is a private method of the `VegaTimePickerRangeDropdownRenderer` class. It is responsible for rendering the start dropdown element in the component's JSX. */
  private renderStartDropdown;
  /** The `renderEndDropdown` method is a private method of the `VegaTimePickerRangeDropdownRenderer` class. It is responsible for rendering the end dropdown element in the component's JSX. */
  private renderEndDropdown;
  /** The `renderDropdownList` method is a private method of the `VegaTimePickerRangeDropdownRenderer` class. It is responsible for rendering the dropdown list of time values in the component's JSX. */
  private renderDropdownList;
  /** The `renderDropdownItem` method is responsible for rendering each item in the dropdown list of time values. It creates an `<li>` element with the following attributes and event handlers: */
  private renderDropdownItem;
  /**
   * It is called when a dropdown item is clicked.
   *
   * @param {string} item time string
   * @param {TimeRangeIndex} rangeIndex start or end
   */
  private onItemClick;
  /**
   * It is used to determine if a dropdown item is currently selected or not.
   *
   * @param {string} item time string
   * @param {TimeRangeIndex} rangeIndex start or end
   * @returns {boolean} a boolean value
   */
  private isItemSelected;
  /**
   * The `getTimeArray` method is a private method of the `VegaTimePickerRangeDropdownRenderer` class.
   * It is responsible for generating an array of time values based on the `hours` and `minutes` provided in the `dropdownSource` property.
   *
   * @returns {string[]} all selectable time list
   */
  private getTimeArray;
}
