import { ComponentPropsWithoutRef, MouseEventHandler, ReactNode } from 'react'; import { ButtonBeta } from '../../../../components'; export interface HomeCardHeaderProps extends Omit, 'title'> { /** Title displayed on the left side of the header. */ title: ReactNode; /** Label of the action button displayed on the right side of the header. */ actionLabel?: ReactNode; /** Callback invoked when the action button is clicked. */ onActionClick?: MouseEventHandler; /** Optional left icon of the action button. */ actionLeftIcon?: ReactNode; /** Optional right icon of the action button. */ actionRightIcon?: ReactNode; /** * Extra props spread onto the action button (e.g. `data-testid`) — its * default `data-testid` (`home-card-header-action`) isn't unique across * the several `HomeCard`s a page can render, so consumers doing that * should override it here. The `data-*` index signature covers * attributes like `data-testid` that `ButtonBetaProps` doesn't declare: * TypeScript's built-in allowance for undeclared `data-*`/`aria-*` * attributes only applies to attributes written directly on a JSX * element, not to a plain object literal passed as a prop value. */ actionProps?: ComponentPropsWithoutRef & { [key: `data-${string}`]: string; }; } declare const HomeCardHeader: { ({ title, actionLabel, onActionClick, actionLeftIcon, actionRightIcon, actionProps, className, ...rest }: HomeCardHeaderProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export default HomeCardHeader;