import { type GenericListRootProps, type GenericListItemsProps, type GenericListRepeaterProps, type GenericListLoadMoreProps } from '@wix/headless-components/react'; import { type AsChildChildren } from '@wix/headless-utils/react'; import React from 'react'; import { type Event as EventType } from '../services/event-service.js'; import { type OccurrenceListServiceConfig } from '../services/occurrence-list-service.js'; /** * Props for the OccurrenceList Root component. */ export interface RootProps extends Pick, 'children' | 'className' | 'variant'> { /** Configuration for the occurrence list service */ occurrenceListServiceConfig: OccurrenceListServiceConfig; } /** * Root container that provides occurrence list service context to all child components. * Must be used as the top-level component for occurrence list functionality. * * @order 1 * @component * @example * ```tsx * import { OccurrenceList } from '@wix/events/components'; * * function OccurrenceListPage({ occurrenceListServiceConfig }) { * return ( * * * * * * * * * * * * * ); * } * ``` */ export declare const Root: React.ForwardRefExoticComponent>; /** * Props for the OccurrenceList Occurrences component. */ export interface OccurrencesProps extends GenericListItemsProps { } /** * Container for the occurrence list. * Follows List Container Level pattern. * * @component * @example * ```tsx * * * * * * * ``` */ export declare const Occurrences: React.ForwardRefExoticComponent>; /** * Props for the OccurrenceList OccurrenceRepeater component. */ export interface OccurrenceRepeaterProps extends Omit, 'itemWrapper'> { } /** * Repeater component that renders Event.Root for each occurrence. * Follows Repeater Level pattern. * * @component * @example * ```tsx * * * * * ``` */ export declare const OccurrenceRepeater: React.ForwardRefExoticComponent>; /** * Props for the OccurrenceList LoadMoreTrigger component. */ export interface LoadMoreTriggerProps extends GenericListLoadMoreProps { } /** * Displays a button to load more occurrences. Not rendered if no occurrences are left to load. * * @component * @example * ```tsx * // Default usage * */ export declare const LoadMoreTrigger: React.ForwardRefExoticComponent>; /** * Props for the OccurrenceList Error component. */ export interface ErrorProps { /** Whether to render as a child component */ asChild?: boolean; /** Custom render function when using asChild */ children?: AsChildChildren<{ /** Occurrence list error message */ error: string; }>; /** CSS classes to apply to the default element */ className?: string; } /** * Displays an error message when the occurrence list fails to load. * * @component * @example * ```tsx * // Default usage * * * // asChild with primitive * * * * * // asChild with react component * * {React.forwardRef(({ error, ...props }, ref) => ( * * {error} * * ))} * * ``` */ export declare const Error: React.ForwardRefExoticComponent>;