import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { ZIndexLevelType } from '../../../../helpers/zindex/internal-vega-z-index-manager';
import { VegaSidenav } from '../../vega-sidenav';
import { ResponsiveBehavior } from '../../types';
/** Manages the visibility and z-index of a backdrop element for a side navigation menu. */
export declare class VegaSidenavBackdropController extends VegaSlimmer {
  static readonly backdropClassName: string;
  protected openState: VegaSidenav['openState'];
  private backdropRef;
  /**
   * create or remove the sidenav backdrop element.
   *
   * @param {ResponsiveBehavior} responsiveBehavior The sidenav config
   */
  updateBackdropAvailability(responsiveBehavior: ResponsiveBehavior): void;
  /**
   * The function sets the z-index of an element using a specified level.
   *
   * @param {ZIndexLevelType} [level] - The zindex level
   */
  setZIndex(level?: ZIndexLevelType): void;
  /**
   * The function removes a specified Z index level from a backdrop element using an internal Vega Z index manager.
   *
   * @param {ZIndexLevelType} [level] - The zindex level
   */
  removeZIndex(level?: ZIndexLevelType): void;
  /**
   * Appends a backdrop element to the body of the document and sets its visibility based on a breakpoint.
   */
  private append;
  /**
   * Sets the visibility of the `backdropRef` to false.
   */
  private remove;
  /**
   * Determines if the backdrop is visible based on the current breakpoint.
   *
   * @returns {boolean} A boolean value based on the current breakpoint. It returns `true` if the current breakpoint is either 'S' or 'M', and `false` otherwise.
   */
  private getBackdropVisibleByBreakpoint;
}
