import { FC } from 'react'; import { ProcessedEventsData } from '../types/internal-interface'; /** * Props for AgendaEventItem component */ interface AgendaEventItemProps { /** * The processed event information */ eventData: ProcessedEventsData; /** * Unique key for this event (includes date context for proper React reconciliation) * Format: ${date.toISOString()}-${event.id} */ eventKey?: string; /** * Optional group index for resource grouping * Set when rendering within a resource-grouped agenda view * Used to set data-group-index attribute for testing and styling */ groupIndex?: number; /** * Optional group order (resource hierarchy path) for resource grouping * Set when rendering within a resource-grouped agenda view * Used to retrieve resource color for border-inline-start style */ groupOrder?: (number | string)[]; } /** * AgendaEventItem component displays a single event in the agenda list. * Supports custom event templates via `eventTemplate` prop in the Agenda View configuration. * Falls back to default rendering if no template is provided. * Supports keyboard and mouse interactions: * - Tab: Navigate through appointments * - Single Click/Enter: Opens quick popup for quick preview/actions * - Double Click: Opens full editor popup for editing/deleting * - Escape: Blur from focused element * Uses existing sf-appointment-* classes for consistency. * * Wrapped in React.memo for performance optimization. Re-renders only when event data actually changes. * * @example * ```tsx * * ``` * * @param {AgendaEventItemProps} props - AgendaEventItemProps * @returns {ReactNode} The rendered event item component */ export declare const AgendaEventItem: FC; export default AgendaEventItem;