import { VegaSlimmer } from '../../../../../../vega-slimmer/vega-slimmer-core';
import { VegaCalendarDayViewTimedEventLayout } from './layout/day-view-timed-event-layout';
import { VegaCalendar } from '../../../../vega-calendar';
import { CalendarDate } from '../../../../../../helpers/calendar';
/** The `VegaCalendarDayViewEventLayoutRenderer` class in TypeScript React renders event layouts for a day view calendar. */
export declare class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
  private static TOTAL_NUMBER_OF_CELLS;
  protected eventItemRenderer: VegaCalendar['eventItemRenderer'];
  protected eventPreviewPopoverRenderer: VegaCalendar['eventPreviewPopoverRenderer'];
  /**
   * The `render` function in TypeScript React renders a layout of calendar events for a day view.
   *
   * @param {VegaCalendarDayViewTimedEventLayout} layout - The `layout` parameter in the `render` function is
   * of type `VegaCalendarDayViewTimedEventLayout`, which contains information about the layout of events for
   * a day view in a calendar. It has properties like `eventLayoutColumns`, which is an array of `VegaCalendarDayViewEvent
   * @returns {HTMLElement[]} An array of HTMLElements representing the rendered event nodes based on the provided layout and event data.
   */
  render(layout: VegaCalendarDayViewTimedEventLayout, targetCalendarViewDate: CalendarDate): HTMLElement[];
  /**
   * This function calculates and returns the style properties for positioning and sizing a calendar event within a grid layout.
   *
   * @param {number} startIndex - The `startIndex` parameter represents the index of the starting cell for the time event in the calendar grid.
   * @param {number} endIndex - The `endIndex` parameter represents the index of the end position of the time event within a column. It indicates where the time event ends vertically within the column layout.
   * @param {number} columnIndex - The `columnIndex` parameter represents the index of the column in which the event is being displayed. It is used to calculate the `left` position of the event element within the container based on the total number of columns spanned by the event.
   * @param {number} columnsSpannedCount - The `columnsSpannedCount` parameter represents the number of columns spanned by the event in a calendar layout. It is used to calculate the left position of the event within the calendar grid.
   * @returns {VegaCalendarEventStyle} The function `getTimeEventStyle` returns an object of type `VegaCalendarEventStyle` with properties for position, left, top, width, height, and zIndex.
   */
  private getTimeEventStyle;
}
