import { EventEmitter } from '../../stencil-public-runtime';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.0.5
 */
export declare class VegaStepper {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly formFieldController: FormFieldControllerSlimmer<number>;
  protected changeEventEmitter: EventEmitSlimmerBase;
  protected inputEventPrevent: ChildNodesEventPreventSlimmer;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaStepperElement>;
  private stepperContainerRef;
  private inputRef;
  host: HTMLVegaStepperElement;
  /**
   * Specifies the unique identifier for the stepper component.
   *
   * @vegaVersion 1.3.0
   */
  stepperId: string;
  /**
   * Defines the upper limit or maximum value that can be
   *    incremented within the stepper component.
   *
   * @vegaVersion 1.0.5
   */
  max: number;
  /**
   * Defines the lower limit or minimum value that can be
   *    decremented within the stepper component.
   *
   * @vegaVersion 1.0.5
   */
  min: number;
  /**
   * Defines the initial or current value of the stepper component.
   *
   * @vegaVersion 1.0.5
   */
  value: number;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-stepper-change-e2e}
   */
  watchValue(): void;
  /**
   * Provides a descriptive text or string that serves
   *    as the label or title for the stepper component.
   *
   * @vegaVersion 1.0.5
   */
  label: string;
  /**
   * Specifies whether the input field of the
   *    stepper component is disabled. The increment and
   *    decrement buttons are unaffected by this setting.
   *
   * @vegaVersion 1.31.0
   */
  inputDisabled: boolean;
  /**
   * Specifies whether the stepper component is disabled.
   *
   * @vegaVersion 1.3.0
   */
  disabled: boolean;
  /**
   * Specifies the validation status of the stepper component.
   *
   * @vegaVersion 1.3.0
   */
  isValid: boolean;
  /**
   * Determines whether automatic validation should be
   *    implemented for the stepper component.
   *
   * @vegaVersion 1.18.0
   */
  autoValidation: boolean;
  /**
   * Specifies the style variant for the stepper buttons.
   *
   * @vegaVersion 1.19.0
   */
  buttonVariant: 'primary' | 'secondary';
  /**
   * An event emitter notifying changes in the value of the stepper component.
   *
   * @vegaVersion 1.0.8
   */
  vegaChange: EventEmitter<number>;
  /**
   * An event emitter notifying changes in the value of the stepper component.
   *
   * @eventSemantics namespace:native
   * @vegaVersion 2.0.0
   */
  change: EventEmitter<number>;
  render(): VegaStepper;
  private renderLabelDom;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-stepper-on-decrease-e2e}
   */
  private onDecrease;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-stepper-on-increase-e2e}
   */
  private onIncrease;
  /**
   * The input value needs to be within the range of Max and Min,
   * and the value of the input component needs to be modified in cascade.
   *
   * The below method is e2e-test covered in
   * @see{module:vega-stepper-change-e2e}
   */
  private onChildInputChange;
  /**
   * The value will be set to min if the input value is empty
   */
  private handleInputBlur;
  private touchableAreaGetter;
}
