import { MouseEventHandler } from 'react'; export type BreadcrumbItemVariant = "previous" | "long" | "active" | "collapsed"; type BreadcrumbItemBaseProps = { label: string; }; type ActionableBreadcrumbItemProps = BreadcrumbItemBaseProps & ({ variant?: "previous" | "long"; href: string; onClick?: MouseEventHandler; } | { variant?: "previous" | "long"; href?: never; onClick: MouseEventHandler; }); type ActiveBreadcrumbItemProps = BreadcrumbItemBaseProps & { variant: "active"; href?: never; onClick?: never; }; type CollapsedBreadcrumbItemProps = BreadcrumbItemBaseProps & { variant: "collapsed"; controlsId: string; expanded: boolean; href?: never; onClick: MouseEventHandler; }; export type BreadcrumbItemProps = ActionableBreadcrumbItemProps | ActiveBreadcrumbItemProps | CollapsedBreadcrumbItemProps; export type BreadcrumbItemElement = HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement; export {};