/** * StaffMemberList - High-level component for displaying staff member lists * Follows the pattern from LocationList.tsx * * @module React/StaffMemberList */ import React from 'react'; import { GenericListRepeaterProps, type ListVariant } from '@wix/headless-components/react'; import { type AsChildChildren } from '@wix/headless-utils/react'; import type { StaffMemberListServiceConfig } from '../../services/staff-member-list/staff-member-list.js'; import type { StaffMemberData } from '../../services/staff-member-list/staff-member-list.def.js'; /** Resource type ID for staff members */ export declare const TestIds: { readonly staffMemberListRoot: "staff-member-list-root"; readonly staffMemberListStaffMembers: "staff-member-list-staff-members"; readonly staffMemberListStaffMember: "staff-member-list-staff-member"; readonly staffMemberListActionClear: "staff-member-list-action-clear"; readonly staffMemberListTotals: "staff-member-list-totals"; }; /** * Props for the StaffMemberList root component */ export interface RootProps { children: React.ReactNode; staffMemberListConfig?: StaffMemberListServiceConfig; className?: string; variant?: ListVariant; } /** * Root component that provides the StaffMemberList service context for rendering staff member lists. * * @component * @example * ```tsx * import { StaffMemberList, StaffMember } from '@wix/bookings/react'; * * function StaffMembersPage({ staffMemberListConfig }) { * return ( * * No staff members available}> * * * * * * ); * } * ``` */ export declare const Root: React.ForwardRefExoticComponent>; /** * Props for StaffMemberList.StaffMembers component */ export interface StaffMembersProps { children: React.ReactNode; emptyState?: React.ReactNode; className?: string; } /** * Container for the staff members list with empty state support. * Wraps GenericList.Items internally (no separate Items export). * * @component * @example * ```tsx * No staff members available}> * * * * * ``` */ export declare const StaffMembers: React.ForwardRefExoticComponent>; /** * Props for StaffMemberList.StaffMemberRepeater component */ export type StaffMemberRepeaterProps = GenericListRepeaterProps; export declare const StaffMemberRepeater: React.ForwardRefExoticComponent>; /** * Props for StaffMemberList.Totals component */ export interface TotalsProps extends Omit, 'children'> { asChild?: boolean; children?: React.ReactNode | AsChildChildren<{ count: number; hasStaffMembers: boolean; }>; } /** * Displays the total count of staff members. * * @component * @example * ```tsx * * * // With asChild * * {({ count }) => {count} staff members available} * * ``` */ export declare const Totals: React.ForwardRefExoticComponent>; /** * Props for StaffMemberList.Actions.Clear component */ export interface ClearProps extends Omit, 'children' | 'onClick'> { asChild?: boolean; children?: React.ReactNode | ((props: { onClick: () => void; }) => React.ReactNode); label?: string; /** Called after clearing with the staffMember that was cleared */ onClick?: (staffMember: StaffMemberData | null) => void; } /** * Actions namespace for staff member list-level actions */ export declare const Actions: { Clear: React.ForwardRefExoticComponent>; };