import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { CalendarEvent } from '../../../../../helpers/calendar/calendar-event';
import { VegaCalendar } from '../../../vega-calendar';
import { Nullable } from '../../../../../types/general';
import { CalendarDate } from '../../../../../helpers/calendar';
/** This code snippet defines a TypeScript class `VegaCalendarFullDayEventLayoutRenderer` that extends `VegaSlimmer`. Here's a breakdown of what the class and its methods are doing: */
export declare class VegaCalendarFullDayEventLayoutRenderer extends VegaSlimmer {
  private static monthViewEventOffsetTop;
  protected eventItemRenderer: VegaCalendar['eventItemRenderer'];
  protected viewMode: VegaCalendar['viewMode'];
  protected calendarView: VegaCalendar['calendarView'];
  protected eventPreviewPopoverRenderer: VegaCalendar['eventPreviewPopoverRenderer'];
  private longEventLayoutGenerator;
  private calendarEventSorter;
  private fullDayEventLayout;
  /**
   * The function `sortLongEvents` sorts calendar events based on a fixed layout generated by `longEventLayoutGenerator`.
   *
   * @param {CalendarEvent[][]} calendarEvents - calendar current row all events
   * @returns {Nullable<CalendarEvent>[][]} the events after sorter
   */
  sortLongEvents(calendarEvents: CalendarEvent[][]): Nullable<CalendarEvent>[][];
  /**
   * render the month view or week view long events
   *
   * @param {Nullable<CalendarEvent>[]} calendarEvents current events
   * @param {currentViewIndex} currentViewIndex the current index of the row
   * @returns {HTMLElement[]} event elements
   */
  render(calendarEvents: Nullable<CalendarEvent>[], currentViewIndex: number, targetCalendarViewDate: CalendarDate): HTMLElement[];
  /**
   * Get the current event layout style from the params
   *
   * @param {CalendarEvent} calendarEvent current event item
   * @param {number} currentViewIndex the current date index of the row
   * @param {number} itemIndex the current event index of the event array
   * @param {number} offsetTop the default offset top for the event
   * @returns {VegaCalendarEventStyle} layout style object
   */
  private getEventStyle;
}
