/**
 * @file SideNavHeading.tsx
 * @input Uses React, useRef, useCallback, ReactNode, StyleX, usePopover
 * @output Exports SideNavHeading component and SideNavHeadingProps
 * @position Core implementation; used inside SideNav header slot
 *
 * Product/suite/account heading with smart interaction boundary logic.
 * Composes usePopover internally when menu prop is provided.
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/SideNav/SideNav.doc.mjs
 * - /packages/core/src/SideNav/SideNav.test.tsx
 * - /packages/core/src/SideNav/index.ts
 * - /apps/storybook/stories/SideNav.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
 */
import { type ReactNode } from 'react';
import type { LinkComponentType } from '../Link/types';
import type { BaseProps } from '../BaseProps';
export interface SideNavHeadingProps extends BaseProps<HTMLDivElement> {
    /** Ref forwarded to the root element */
    ref?: React.Ref<HTMLDivElement>;
    /**
     * Product/app icon.
     */
    icon?: ReactNode;
    /**
     * Custom component to render instead of `<a>`.
     * Overrides the provider-level default set by LinkProvider.
     * Must accept href, className, style, and children props.
     */
    as?: LinkComponentType;
    /**
     * Product/app name.
     */
    heading: string;
    /**
     * Link for the heading (e.g., product home).
     */
    headingHref?: string;
    /**
     * Text above the heading (e.g., suite name).
     */
    superheading?: string;
    /**
     * Link for the superheading (e.g., suite home).
     */
    superheadingHref?: string;
    /**
     * Text below the heading (e.g., account context).
     */
    subheading?: string;
    /**
     * Link for the subheading.
     */
    subheadingHref?: string;
    /**
     * Content rendered at the trailing edge of the heading row.
     * Hidden in collapsed mode.
     */
    headerEndContent?: ReactNode;
    /**
     * Menu content shown in a popover. When provided, the header composes
     * usePopover internally and shows a dropdown chevron. The trigger
     * boundary is determined automatically:
     * - No hrefs → whole header is the trigger
     * - With hrefs → links are independent, chevron/remaining area is the trigger
     */
    menu?: ReactNode;
}
/**
 * Product/suite/account heading for SideNav.
 *
 * Supports smart interaction boundary logic:
 * - No hrefs + menu → whole heading is the popover trigger
 * - headingHref only, no menu → whole heading is one link
 * - headingHref + superheadingHref, no menu → each is an independent link
 * - menu + hrefs → links are independent, chevron/remaining area is the trigger
 *
 * The chevron indicator is automatically shown when `menu` is provided.
 *
 * @example
 * ```
 * <SideNavHeading icon={<AppIcon />} heading="My App" headingHref="/" />
 * <SideNavHeading
 *   icon={<SuiteIcon />}
 *   superheading="Suite Name"
 *   superheadingHref="/suite"
 *   heading="Product Name"
 *   headingHref="/product"
 *   menu={<ProductSwitcher />}
 * />
 * <SideNavHeading
 *   icon={<AppIcon />}
 *   heading="Product Name"
 *   subheading="Business Account"
 *   menu={<AccountSwitcher />}
 * />
 * ```
 */
export declare function SideNavHeading({ as, icon, heading, headingHref, superheading, superheadingHref, subheading, subheadingHref, headerEndContent, menu, xstyle, className, style, 'data-testid': testId, ref, ...props }: SideNavHeadingProps): import("react").JSX.Element | null;
export declare namespace SideNavHeading {
    var displayName: string;
}
//# sourceMappingURL=SideNavHeading.d.ts.map