/**
 * @file BreadcrumbItem.tsx
 * @input Uses React use/useRef/useEffect, stylex, theme tokens, BreadcrumbContext,
 *   and (for the menu trigger) usePopover + the shared DropdownMenu item API
 *   (renderDropdownItems, DropdownMenuContext, MENU_ITEM_SELECTOR, useListFocus)
 * @output Exports BreadcrumbItem component and BreadcrumbItemProps
 * @position Individual breadcrumb item; used inside Breadcrumbs
 *
 * A `menu` prop turns the item's link-styled button into a menu trigger whose
 * popover reuses DropdownMenu's item pipeline — the same wiring ContextMenu
 * uses — so menu-item definitions are portable across the menu family.
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/Breadcrumbs/Breadcrumbs.doc.mjs
 * - /packages/core/src/Breadcrumbs/Breadcrumbs.test.tsx
 * - /packages/core/src/Breadcrumbs/index.ts
 * - /apps/storybook/stories/Breadcrumbs.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/Breadcrumbs/ (showcase blocks)
 */
import React, { type ReactNode, type MouseEvent } from 'react';
import type { LinkComponentType } from '../Link/types';
import type { BaseProps } from '../BaseProps';
import { type DropdownMenuSize } from '../DropdownMenu/DropdownMenuContext';
import type { DropdownMenuOption } from '../DropdownMenu/DropdownMenu';
export interface BreadcrumbItemProps extends Omit<BaseProps<HTMLLIElement>, 'onClick'> {
    ref?: React.Ref<HTMLLIElement>;
    /**
     * Custom component to render instead of `<a>` for breadcrumb links.
     * Overrides the provider-level default set by LinkProvider.
     * Only applies for non-current items. Must accept href, className, style, and children props.
     */
    as?: LinkComponentType;
    /**
     * Label content of the breadcrumb item.
     */
    children: ReactNode;
    /**
     * URL for the breadcrumb link. Omit for the current page.
     */
    href?: string;
    /**
     * Click handler. Works with or without href.
     */
    onClick?: (e: MouseEvent<HTMLElement>) => void;
    /**
     * Marks this item as the current page. Renders as a span with aria-current="page".
     * If not set on any item, the last item is auto-detected as current.
     * @default false
     */
    isCurrent?: boolean;
    /**
     * Optional icon rendered before the label.
     */
    startIcon?: ReactNode;
    /**
     * Menu opened when the item is activated. Accepts the SAME item API as
     * DropdownMenu / MoreMenu / ContextMenu, so a consumer's existing menu-item
     * definitions are portable into a breadcrumb with no rewrite:
     * - a `DropdownMenuOption[]` data array (items, sections, dividers), or
     * - composed `DropdownMenuItem` / `DropdownMenuCheckboxItem` /
     *   `DropdownMenuRadioGroup` children.
     *
     * When set, the item renders as a link-styled menu trigger (button + a
     * trailing chevron, `aria-haspopup="menu"` / `aria-expanded`) whose popover
     * is a `role="menu"` container that provides `DropdownMenuContext` and runs
     * `useListFocus`. Takes precedence over `href` / `onClick` (which are
     * ignored when `menu` is set — a dev-time warning is logged).
     */
    menu?: DropdownMenuOption[] | ReactNode;
    /**
     * Size passed to the menu items via `DropdownMenuContext` (item
     * padding/typography). Defaults from the breadcrumb variant:
     * `'supporting'` → `'sm'`, otherwise `'md'`.
     */
    menuSize?: DropdownMenuSize;
}
/**
 * An individual breadcrumb item. Renders as a link (`<a>`) or a span
 * depending on whether it represents the current page.
 *
 * Each item renders its own leading separator, hidden on :first-child via
 * CSS. Auto-current detection uses a post-render effect that checks the
 * DOM — no React child introspection.
 *
 * @example
 * ```
 * <BreadcrumbItem href="/projects">Projects</BreadcrumbItem>
 * <BreadcrumbItem isCurrent>My Project</BreadcrumbItem>
 * ```
 */
export declare function BreadcrumbItem({ ref, as, children, href, onClick, isCurrent: isCurrentProp, startIcon, menu, menuSize, xstyle, className, style, 'data-testid': testId, ...rest }: BreadcrumbItemProps): React.JSX.Element;
export declare namespace BreadcrumbItem {
    var displayName: string;
}
//# sourceMappingURL=BreadcrumbItem.d.ts.map