import { CalendarEvent } from '../../../../../helpers/calendar/calendar-event';
import { Nullable } from '../../../../../types/general';
import { VegaCalendarBaseEventLayout } from './base-event-layout';
import { VegaCalendarFullDayEventLayoutRow } from './full-day-event-layout-row';
/** The VegaCalendarLongEventLayout class manages the layout of long events in a calendar by organizing them into rows. */
export declare class VegaCalendarFullDayEventLayout extends VegaCalendarBaseEventLayout {
  protected cells: VegaCalendarFullDayEventLayoutRow[];
  /**
   * The constructor function initializes a VegaCalendarFullDayEventLayoutRow array in TypeScript.
   *
   * @param {VegaCalendarFullDayEventLayoutRow[]} rows - An array of VegaCalendarFullDayEventLayoutRow objects.
   */
  constructor(rows: VegaCalendarFullDayEventLayoutRow[]);
  /**
   * This TypeScript function returns the index of a row containing a specific calendar event.
   *
   * @param {CalendarEvent} eventItem - The `eventItem` parameter is a `CalendarEvent` object that represents an event in a calendar.
   * @returns {number} The function `getEventRowsIndex` returns the index of the row in the `rows` array where the `eventItem` is found based on the condition specified in the `findIndex` method.
   */
  getEventRowsIndex(eventItem: CalendarEvent): number;
  /**
   * This function retrieves CalendarEvents from each row in a calendar layout based on a specified index.
   *
   * @param {number} index - The `index` parameter in the `getEventsByIndex` method is a number that
   * represents the slot index for which you want to retrieve calendar events. The method iterates
   * through each row in the `rows` array and retrieves the calendar event at the specified slot index from each row. The method
   * @returns {Nullable<CalendarEvent>[]} An array of CalendarEvent objects is being returned.
   */
  getEventsByIndex(index: number): Nullable<CalendarEvent>[];
}
