import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { VegaCalendarEvent } from '../../vega-calendar-event';
import { Nullable } from '../../../../../types/general';
/** The `VegaCalendarEventRenderer` class is a TypeScript React component used for rendering calendar events with different display modes and custom styling. */
export declare class VegaCalendarEventRenderer extends VegaSlimmer {
  protected host: VegaCalendarEvent['host'];
  protected timeFormat: VegaCalendarEvent['timeFormat'];
  protected calendarEvent: VegaCalendarEvent['calendarEvent'];
  protected slotMode: VegaCalendarEvent['slotMode'];
  protected showColorBar: VegaCalendarEvent['showColorBar'];
  private eventTitleContainerRef;
  private slotContainerRef;
  /**
   * This function returns the event title container as a nullable HTMLDivElement.
   *
   * @returns {Nullable<HTMLDivElement>} The method `getEventTitleContainer` is returning a nullable HTMLDivElement.
   */
  getEventTitleContainerRef(): Nullable<HTMLDivElement>;
  /**
   * Get the calendar event slot container element
   *
   * @returns {Nullable<HTMLDivElement>} a div element
   */
  getSlotContainerRef(): Nullable<HTMLDivElement>;
  /**
   * The function conditionally renders either a group event or a normal event based on a boolean flag.
   *
   * @returns {HTMLElement} the event element
   */
  render(): HTMLElement;
  /**
   * The vega calendar event default render
   *
   * @returns {HTMLElement} calendar event element
   */
  private calendarEventRender;
  /**
   * render background mode event element
   *
   * @returns {HTMLDivElement} div element
   */
  private renderBackgroundModeEvent;
  /**
   * render event element
   *
   * @returns {HTMLAnchorElement} event element
   */
  private renderNormalEvent;
  /**
   * render event status element, a color badge or a color bar element
   *
   * @returns {Nullable<HTMLDivElement>} div element
   */
  private renderEventStatus;
  /**
   * Render the month view timed event.
   *
   * @returns {HTMLElement} a div element
   */
  private defaultNormalMonthEventContentRender;
  /**
   * Render the day view timed event.
   *
   * @param {number} eventDuration the event duration
   * @returns {HTMLElement} a div element
   */
  private defaultNormalTimedEventContentRender;
  /**
   * Return a slot element if the calendar is not a repeat event
   *
   * @returns {Nullable<HTMLElement>} slot element or null
   */
  private getSlotElement;
  /**
   * render the custom color style tag element
   *
   * @returns {HTMLStyleElement} style element
   */
  private injectBackgroundColorStyle;
}
