import { EventModel } from '../types/scheduler-types'; import { ProcessedEventsData } from '../types/internal-interface'; import { ResourceLevel } from '../services/ResourceGroupingService'; /** * Interface for the result of useMonthEvents hook * * @private */ export interface UseMonthEventsResult { /** * Get visible events for a specific date, optionally filtered by resource */ getVisibleEvents: (dateKey: string, resourceLeaf?: ResourceLevel) => ProcessedEventsData[]; getAlldayBlockEvent: (dateKey: string, resourceLeaf?: ResourceLevel) => ProcessedEventsData; /** * Get hidden event count for a specific date, optionally filtered by resource */ getHiddenEventCount: (dateKey: string, resourceLeaf?: ResourceLevel) => number; /** * Get all events for a specific date (visible and hidden), optionally filtered by resource */ getAllEventsForDate: (dateKey: string, resourceLeaf?: ResourceLevel) => ProcessedEventsData[]; /** * Check if a date has more events than can be displayed, optionally filtered by resource */ hasMoreIndicator: (dateKey: string, resourceLeaf?: ResourceLevel) => boolean; /** * Check if a date has a block indicator (isBlock: true, isAllDay: false), optionally filtered by resource */ hasBlockIndicator: (dateKey: string, resourceLeaf?: ResourceLevel) => boolean; /** * Check if a date has an all-day block event (isBlock: true, isAllDay: true), optionally filtered by resource */ hasAllDayBlock: (dateKey: string, resourceLeaf?: ResourceLevel) => boolean; /** * calculated height for a specific row */ calculatedRowHeight: string; /** * Utility function to sort events by start time */ sortEventsByTime: (events: EventModel[]) => EventModel[]; } /** * Process and organize events for month view rendering * * @param {Date[]} renderDates - The dates being rendered * @param {number} maxEventsStack - Maximum number of events to display per row. * @returns {UseMonthEventsResult} - Processed events data and related functions * @private */ export declare const useMonthEvents: (renderDates: Date[], maxEventsStack: number) => UseMonthEventsResult; export default useMonthEvents;