import { CalendarEvent } from '../../../../../../../helpers/calendar/calendar-event';
import { Nullable } from '../../../../../../../types/general';
import { VegaCalendarBaseEventLayoutCell } from '../../../../common/layout/base-event-layout-cell';
/** The class `VegaCalendarDayViewEventLayoutColumn` manages the layout of events in a day view calendar by storing event slots and providing methods to interact with them. */
export declare class VegaCalendarDayViewTimedEventLayoutColumn extends VegaCalendarBaseEventLayoutCell {
  static readonly defaultSlots: Nullable<CalendarEvent>[];
  protected slots: Nullable<CalendarEvent>[];
  /**
   * The function `hasOverlapEvent` checks if a given calendar event overlaps with existing events in the calendar.
   *
   * @param {CalendarEvent} eventItem - The `eventItem` parameter in the `hasOverlapEvent` function represents a `CalendarEvent` object that contains information about an event such as its start time, end time, and possibly other details related to the event.
   * @returns {boolean} The function `hasOverlapEvent` returns a boolean value indicating whether there is an overlap in the calendar event slots. If there is an overlap, it returns `true`, otherwise it returns `false`.
   */
  hasOverlapEvent(eventItem: CalendarEvent): boolean;
  /**
   * The function `updateColumnSlots` updates the slots array by replacing a range of elements with a given event item.
   *
   * @param {CalendarEvent} eventItem - The `eventItem` parameter is a `CalendarEvent` object that represents an event in a calendar.
   */
  updateSlots(eventItem: CalendarEvent): void;
  /**
   * The function `getIndexRangeFromEvent` takes a `CalendarEvent` object and returns an array of time indices based on the start and end times of the event.
   *
   * @param {CalendarEvent} eventItem - A CalendarEvent object containing information about a specific event in a calendar, such as its start time and end time.
   * @returns {number[]} An array of two numbers representing the index range of the start and end times of the given CalendarEvent.
   */
  private getIndexRangeFromEvent;
}
