import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaInputRange } from '../../vega-input-range';
import { RangeInputIndexType } from '../../types';
export declare class VegaInputRangeInputRenderer extends VegaSlimmer {
  static readonly defaultPlaceholder: string[];
  protected value: VegaInputRange['value'];
  protected prefixIcon: VegaInputRange['prefixIcon'];
  protected disabled: VegaInputRange['disabled'];
  protected min: VegaInputRange['min'];
  protected max: VegaInputRange['max'];
  protected size: VegaInputRange['size'];
  protected placeholder: VegaInputRange['placeholder'];
  protected label: VegaInputRange['label'];
  protected showClearIcon: VegaInputRange['showClearIcon'];
  protected valueController: VegaInputRange['valueController'];
  protected clearIconRenderer: VegaInputRange['clearIconRenderer'];
  protected translationSlimmer: VegaInputRange['translationSlimmer'];
  private isMobileDevice;
  private minFieldInputRef;
  private maxFieldInputRef;
  /**
   * The function `getInputRefByIndex` returns the HTML input element reference based on the index provided.
   *
   * @param {RangeInputIndexType} index - The `index` parameter in the `getInputRefByIndex` function is
   * of type `RangeInputIndexType`. This type is used to specify whether the index refers to the minimum
   * or maximum input field in a range input element.
   * @returns {HTMLVegaInputElement} The `getInputRefByIndex` function returns either the `minFieldInputRef` or
   * `maxFieldInputRef` based on the `index` provided.
   */
  getInputRefByIndex(index: RangeInputIndexType): HTMLVegaInputElement;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-input-range-label-click}
   */
  focusFirstInput: () => void;
  /** The `render()` method in the `VegaInputRangeInputRenderer` class is responsible for rendering the JSX structure of the input range component. Here's a breakdown of what the `render()` method is doing: */
  render(): HTMLElement;
  /**
   * Get the input props object by range index
   *
   * @param {number} index the range index
   * @returns {InputPropsType} the input props object
   */
  private getInputPropsByRangeIndex;
  /**
   * update the component value when the range input value change
   *
   * @param {NotifyObserverPayload<string>} payload the input value and the input element object
   */
  private inputValueChange;
  /**
   * get the input placeholder text by the input range index
   *
   * @param {number} index the range index 0|1
   * @returns {string} the input placeholder text
   */
  private getPlaceholderByIndex;
  /**
   * Get the data aria label for the input range input by the input range index
   *
   * @param {number} index the range index 0|1
   * @returns {string} the data aria label for the input range input
   */
  private getDataAriaLabel;
  /**
   * get the input value by the input range index
   *
   * @param {number} index 0|1
   * @returns {string} the input value
   */
  private getDefaultValueByIndex;
}
