import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaProgressTracker } from '../../vega-progress-tracker';
/**
 * Controls the current step of the progress tracker component.
 */
export declare class VegaProgressTrackerCurrentStepController extends VegaSlimmer {
  currentSteps: VegaProgressTracker['currentSteps'];
  current: VegaProgressTracker['current'];
  allowNoCurrentStep: VegaProgressTracker['allowNoCurrentStep'];
  currentStepUpdateEventEmitter: VegaProgressTracker['currentStepUpdateEventEmitter'];
  renderer: VegaProgressTracker['renderer'];
  host: VegaProgressTracker['host'];
  private stepClickObserver;
  private goToPageTaskQueue;
  /** connectedCallback */
  connectedCallback(): void;
  /** disconnectedCallback */
  disconnectedCallback(): void;
  /** componentDidLoad */
  componentDidLoad(): void;
  /** componentDidRender */
  componentDidRender(): Promise<void>;
  /**
   * watch current change
   */
  watchCurrentChange(): Promise<void>;
  /** watch steps change */
  watchSteps(): void;
  /** watch nextStep method call*/
  nextStep(): void;
  /** watch prevStep method call*/
  prevStep(): void;
  /**
   * watch setCurrent method call
   *
   * @param {number} step - step index to set current
   */
  setCurrent(step: number): void;
  /**
   * While direction changed from others direction to 'horizontal-compact',
   *   we need to goto the current step page in carousel.
   */
  watchDirection(): Promise<void>;
  /**
   * Update current step with range limit
   *
   * @param {number} current - current step index
   */
  private updateCurrent;
  /**
   * Initialize step click observer
   */
  private initStepClickObserver;
  /**
   * Remove step click observer
   */
  private removeStepClickObserver;
  /**
   * Check if can accept step click event
   *
   * @returns {boolean} - true if can accept, false otherwise.
   */
  private canAcceptStepClickEvent;
}
