import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaInputPasscode } from '../../vega-input-passcode';
export declare class VegaInputPasscodeRenderer extends VegaSlimmer {
  protected host: VegaInputPasscode['host'];
  protected value: VegaInputPasscode['value'];
  protected label: VegaInputPasscode['label'];
  protected required: VegaInputPasscode['required'];
  protected length: VegaInputPasscode['length'];
  protected disabled: VegaInputPasscode['disabled'];
  protected hint: VegaInputPasscode['hint'];
  protected size: VegaInputPasscode['size'];
  protected inputType: VegaInputPasscode['inputType'];
  protected vegaInputValues: VegaInputPasscode['vegaInputValues'];
  protected valueController: VegaInputPasscode['valueController'];
  private vegaInputRefs;
  private currentIndex;
  private inputPasscodeContainerRef;
  watchLengthAndInputType(): void;
  getVegaInputRefs(): HTMLVegaInputElement[];
  getCurrentIndex(): number;
  getInputPasscodeContainerRef(): HTMLElement;
  render(): VegaInputPasscode;
  private renderLabel;
  private focusInputPasscode;
  private handleVegaFocus;
  private handleVegaBlur;
  private handleVegaChange;
  private handleVegaPaste;
  /**
   * Find the index of the first empty input box for rendering purposes. If all boxes are filled, return -1.
   *
   * @param {number} inputLength - the input length of the passcode, which is also the number of input boxes to render
   * @returns {number} - the index of the first empty input box, or -1 if all boxes are filled
   */
  private getFirstEmptyIndexForRender;
  /**
   * Determine whether the input box at the given index should be accessible to screen readers. Only the boxes up to and including the first empty box should be accessible, as screen readers will read out all accessible boxes and we don't want them to read out empty boxes that come before filled boxes.
   *
   * @param {number} index - the index of the input box to check
   * @returns {boolean} - true if the input box should be accessible to screen readers, false otherwise
   */
  private isInputAccessibleForScreenReader;
  private generateNewInputValue;
}
