import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { VegaCalendar } from '../../../vega-calendar';
import { VegaSegmentProps } from '../../../../vega-segment-control/types';
/** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
export declare class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
  static views: VegaSegmentProps[];
  protected viewMode: VegaCalendar['viewMode'];
  protected calendarView: VegaCalendar['calendarView'];
  protected currentPeriod: VegaCalendar['currentPeriod'];
  protected moreActionDropdownProps: VegaCalendar['moreActionDropdownProps'];
  protected moreActionClickEmitter: VegaCalendar['moreActionClickEmitter'];
  protected currentPeriodController: VegaCalendar['currentPeriodController'];
  protected calendarViewController: VegaCalendar['calendarViewController'];
  protected translationSlimmer: VegaCalendar['translationSlimmer'];
  protected postOperationDate: VegaCalendar['postOperationDate'];
  protected showSwitchView: VegaCalendar['showSwitchView'];
  private switchPanelRef;
  /**
   * get the switch panel container element
   *
   * @returns {HTMLVegaFlexElement} container element
   */
  getSwitchPanelRef(): HTMLVegaFlexElement;
  /**
   * calendar switch panel with date switch, view switch, add new button, and more action components.
   *
   * @returns {HTMLElement} html element
   */
  render(): HTMLElement;
  /**
   * The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
   *
   * @returns {HTMLDivElement} action button elements container.
   */
  private renderDateSwitch;
  /**
   * The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
   *
   * @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
   */
  private renderCurrentPeriod;
  /**
   * The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
   *
   * @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
   */
  private renderViewSwitch;
  /**
   * Render an more action button if dropdown source is not empty
   *
   * @returns {Nullable<HTMLElement>} the additional element
   */
  private renderMoreActionMenu;
  /**
   * This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
   *
   * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
   */
  private handleViewChange;
  /**
   * reset view content to today
   */
  private todayButtonClick;
  /**
   * update view content after click next button
   */
  private nextButtonClick;
  /**
   * update view content after click previous button
   */
  private prevButtonClick;
  /**
   * The more action menu item click
   *
   * @param {NotifyObserverPayload<string>} payload The object contains the menu item key
   */
  private moreActionMenuClick;
  /**
   * Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
   *
   * @returns {string} string
   */
  private getViewDateSummary;
}
