/** * StaffMember - Headless component for displaying staff member information * Provides components for displaying staff member name * * @module React/StaffMember */ import React from 'react'; import * as CoreStaffMember from '../core/staff-member/StaffMember.js'; import { type AsChildChildren } from '@wix/headless-utils/react'; export { useStaffMemberContext } from '../core/staff-member/StaffMember.js'; export declare const TestIds: { readonly staffMemberRoot: "staff-member-root"; readonly staffMemberName: "staff-member-name"; readonly staffMemberRaw: "staff-member-raw"; readonly staffMemberActionSelect: "staff-member-action-select"; }; export type { StaffMemberData, StaffMemberRenderProps, } from '../core/staff-member/StaffMember.js'; /** * Props for StaffMember.Root component */ export interface RootProps { /** Raw staff member data */ staffMember?: CoreStaffMember.StaffMemberData; /** Use asChild pattern */ asChild?: boolean; /** Children - ReactNode or render function with all StaffMemberRenderProps */ children?: React.ReactNode | AsChildChildren; /** CSS class name */ className?: string; /** Data attributes */ [key: `data-${string}`]: string | undefined; } /** * Root component that provides staff member context and handles data parsing. * * @component * @example * ```tsx * // With staff member data * * * * ``` * * @example * ```tsx * // With asChild to access all staff member data * * {({ name, rawStaffMember }) => ( *
* {name} *
* )} *
* ``` */ export declare const Root: React.ForwardRefExoticComponent>; /** * Props for StaffMember.Name component */ export interface NameProps extends Omit, 'children'> { asChild?: boolean; children?: React.ReactNode | AsChildChildren<{ name: string | undefined; }>; } /** * Displays the staff member name. * * @component * @example * ```tsx * * * // With asChild * * {({ name }) =>

{name || 'Unknown Staff'}

} *
* ``` */ export declare const Name: React.ForwardRefExoticComponent>; /** * Props for StaffMember.Raw component */ export interface RawProps { children: (props: CoreStaffMember.StaffMemberRenderProps) => React.ReactNode; } /** * Exposes all raw staff member data via render prop. * Use only when you need full access to staff member data. * * @component * @example * ```tsx * * {({ rawStaffMember, name }) => ( *
{JSON.stringify(rawStaffMember, null, 2)}
* )} *
* ``` */ export declare const Raw: React.FC; /** * Props for StaffMember.Actions.Select component */ export interface SelectProps extends Omit, 'children' | 'onClick'> { asChild?: boolean; children?: React.ReactNode | AsChildChildren<{ onClick: () => void; selected: boolean; staffMember: CoreStaffMember.StaffMemberData | null; }>; /** Label for the button */ label?: string; /** Called after selection with the selected staffMember */ onClick?: (staffMember: CoreStaffMember.StaffMemberData) => void; } /** * Actions namespace for staff member-related actions */ export declare const Actions: { Select: React.ForwardRefExoticComponent>; };