import { VegaProgressTracker } from '../../vega-progress-tracker';
import { PageResizeObserverSlimmer } from '../../../../helpers/slimmers/page-resize-observer-slimmer';
import { AutoRunWhenReRenderTaskQueueSlimmer } from '../../../../helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract';
/**
 * Controls the current direction of the progress tracker component.
 */
export declare class VegaProgressTrackerCurrentDirectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
  direction: VegaProgressTracker['direction'];
  current: VegaProgressTracker['current'];
  renderer: VegaProgressTracker['renderer'];
  currentDirection: VegaProgressTracker['currentDirection'];
  protected pageResizeObserverSlimmer: PageResizeObserverSlimmer;
  /** connectedCallback */
  connectedCallback(): void;
  /** disconnectedCallback */
  disconnectedCallback(): void;
  /** componentWillLoad */
  componentWillLoad(): void;
  /** componentDidLoad */
  componentDidLoad(): void;
  /** watchDirection */
  watchDirection(): void;
  /**
   * No-op: carousel sync is handled via closure-captured value in enqueueSyncCarouselPage().
   */
  protected doTask(): Promise<void>;
  /**
   * Enqueue a carousel page sync with the value captured in a closure,
   * avoiding shared mutable state between enqueue and execution.
   *
   * @param {number} page - The carousel page index to sync to
   */
  private enqueueSyncCarouselPage;
  /**
   * The function sets the current direction of a progress tracker
   * based on the component's direction and the current breakpoint.
   */
  private setCurrentDirection;
}
