/**
 * @license
 * Copyright LOGO YAZILIM SANAYİ VE TİCARET A.Ş.
 *
 * Save to the extent permitted by law, you may not use, copy, modify,
 * distribute or create derivative works of this material or any part
 * of it without the prior written consent of LOGO YAZILIM SANAYİ VE TİCARET A.Ş. Limited.
 * Any reproduction of this material must contain this notice.
 */

/**
 * Helper that provides a set of functions for RTL.
 */
declare class DirHelper {
  /**
   * Get the scroll type in the current browser view.
   *
   * @returns the scroll type. Possible values are `default|reverse|negative`
   */
  static detectScrollType(): string;

  /**
   * Get the scrollLeft value of the element relative to the direction
   *
   * @param scrollType type of the scroll detected with `detectScrollType`
   * @param direction current direction of the element
   * @returns the scrollLeft value.
   */
  static getNormalizedScrollLeft(scrollType: string, direction: string, element: Element | null): number;

  /**
   * Set the scrollLeft value of the element relative to the direction
   *
   * @param scrollType type of the scroll detected with `detectScrollType`
   * @param direction current direction of the element
   * @param scrollLeft the scrollLeft value to be set
   */
  static setNormalizedScrollLeft(
    scrollType: string,
    direction: string,
    element: Element | null,
    scrollLeft: number
  ): void;
}

export { DirHelper };
