import { type GenericListItemsProps, type GenericListRepeaterProps } from '@wix/headless-components/react';
import { type AsChildChildren } from '@wix/headless-utils/react';
import React from 'react';
import { type ScheduleItem as ScheduleItemType } from '../services/schedule-item-service.js';
import { type ScheduleItemsGroup } from '../services/schedule-items-group-service.js';
/**
* Props for the ScheduleItemsGroup Root component.
*/
export interface RootProps {
/** Schedule items group data */
itemsGroup: ScheduleItemsGroup;
/** Whether to render as a child component */
asChild?: boolean;
/** Child components that will have access to the schedule items group */
children: React.ReactNode;
/** CSS classes to apply to the default element */
className?: string;
}
/**
* Root container that provides schedule items group service context to all child components.
* Must be used as the top-level ScheduleItemsGroup component.
*
* @order 1
* @component
* @example
* ```tsx
* import { ScheduleItemsGroup } from '@wix/events/components';
*
* function ScheduleItemsGroupComponent({ itemsGroup }) {
* return (
*
*
*
*
*
*
*
*
*
* );
* }
* ```
*/
export declare const Root: React.ForwardRefExoticComponent>;
/**
* Props for the ScheduleItemsGroup DateLabel component.
*/
export interface DateLabelProps {
/** Whether to render as a child component */
asChild?: boolean;
/** Custom render function when using asChild */
children?: AsChildChildren<{
/** Date object for the group */
date: Date;
/** Time zone ID */
timeZoneId: string;
/** Formatted date label (e.g., "Mon, 07 Jul") */
formattedDate: string;
}>;
/** CSS classes to apply to the default element */
className?: string;
}
/**
* Displays the date label for a schedule group (e.g., "Mon, 07 Jul").
*
* @component
* @example
* ```tsx
* // Default usage
*
*
* // asChild with primitive
*
*
*
*
* // asChild with react component
*
* {React.forwardRef(({ date, timeZoneId, formattedDate, ...props }, ref) => (
*
* {formattedDate}
*
* ))}
*
* ```
*/
export declare const DateLabel: React.ForwardRefExoticComponent>;
/**
* Props for the ScheduleItemsGroup Items component.
*/
export interface ItemsProps extends GenericListItemsProps {
}
/**
* Container for the schedule items in the group.
*
* @component
* @example
* ```tsx
*
*
*
*
*
*
* ```
*/
export declare const Items: React.ForwardRefExoticComponent>;
/**
* Props for the ScheduleItemsGroup ItemRepeater component.
*/
export interface ItemRepeaterProps extends Omit, 'itemWrapper'> {
}
/**
* Repeater component that renders ScheduleItem.Root for each schedule item in the group.
*
* @component
* @example
* ```tsx
*
*
*
*
*
* ```
*/
export declare const ItemRepeater: React.ForwardRefExoticComponent>;