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 EventListServiceConfig } from '../services/event-list-service.js'; /** * Props for the EventList Root component. */ export interface RootProps extends Pick, 'children' | 'className' | 'variant'> { /** Configuration for the event list service */ eventListServiceConfig: EventListServiceConfig; } /** * Root container that provides event list service context to all child components. * Must be used as the top-level component for event list functionality. * * @order 1 * @component * @example * ```tsx * import { EventList } from '@wix/events/components'; * * function EventListPage({ eventListServiceConfig }) { * return ( * * * * * * * * * * * * * * * * * * * * ); * } * ``` */ export declare const Root: React.ForwardRefExoticComponent>; /** * Props for the EventList Events component. */ export interface EventsProps extends GenericListItemsProps { } /** * Container for the event list with support for empty state. * Follows List Container Level pattern. * * @component * @example * ```tsx * No events found}> * * * * * * ``` */ export declare const Events: React.ForwardRefExoticComponent>; /** * Props for the EventList EventRepeater component. */ export interface EventRepeaterProps extends Omit, 'itemWrapper'> { } /** * Repeater component that renders Event.Root for each event. * Follows Repeater Level pattern. * * @component * @example * ```tsx * * * * * ``` */ export declare const EventRepeater: React.ForwardRefExoticComponent>; /** * Props for the EventList LoadMoreTrigger component. */ export interface LoadMoreTriggerProps extends GenericListLoadMoreProps { } /** * Displays a button to load more events. Not rendered if no events are left to load. * * @component * @example * ```tsx * // Default usage * * ``` */ export declare const LoadMoreTrigger: React.ForwardRefExoticComponent>; /** * Props for the EventList Error component. */ export interface ErrorProps { /** Whether to render as a child component */ asChild?: boolean; /** Custom render function when using asChild */ children?: AsChildChildren<{ /** Event list error message */ error: string; }>; /** CSS classes to apply to the default element */ className?: string; } /** * Displays an error message when the event 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>; /** * Props for the EventList CategoryFilter component. */ export interface CategoryFilterProps { /** Whether to render as a child component */ asChild?: boolean; /** Child components */ children: React.ReactNode; /** CSS classes to apply to the default element */ className?: string; /** All categories label*/ allCategoriesLabel: string; } /** * Container for the event list category filters. Not rendered if there are no categories. * * @component * @example * ```tsx * * * * * * * * ``` */ export declare const CategoryFilter: React.ForwardRefExoticComponent>; /** * Props for the EventList StatusFilter component. */ export interface StatusFilterProps { /** Whether to render as a child component */ asChild?: boolean; /** Child components */ children: React.ReactNode; /** CSS classes to apply to the default element */ className?: string; /** All events label */ allEventsLabel: string; /** Upcoming events label */ upcomingEventsLabel: string; /** Past events label */ pastEventsLabel: string; } /** * Container for the event list status filters. * * @component * @example * ```tsx * * * * * * * * ``` */ export declare const StatusFilter: React.ForwardRefExoticComponent>;