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;