/**
 * @file TopNavMegaMenu.tsx
 * @input Uses React, StyleX, usePopover (Popover API + CSS anchor positioning)
 * @output Exports TopNavMegaMenu component and related types
 * @position Navigation item with hover-triggered full-width mega menu for TopNav
 *
 * Uses usePopover to promote the panel to the top layer via the Popover API,
 * eliminating z-index stacking. CSS anchor positioning places the panel below
 * the nav wrapper.
 *
 * The default (desktop) trigger opens on hover and click. Hover opens are
 * transient; click/keyboard opens are pinned. A click shortly after hover-open
 * confirms and pins the panel instead of closing it. The panel remains an auto
 * popover for native dismissal and sibling exclusivity; `popoverTarget`
 * registers the trigger as its native invoker so the guard runs before any
 * dismiss.
 *
 * Supports three render modes via TopNavRenderContext:
 * - 'default': desktop popover mega menu (hover/click triggered)
 * - 'mobile-bar': returns null (hidden in compact mobile bar)
 * - 'drawer': drill-down navigation with back button
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/TopNav/TopNav.doc.mjs
 * - /packages/core/src/TopNav/index.ts
 * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
 */
import React, { type ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
export interface TopNavMegaMenuProps extends BaseProps<HTMLButtonElement> {
    ref?: React.Ref<HTMLButtonElement>;
    /** The visible label for the nav item trigger. */
    label: string;
    /**
     * Menu items slot — typically one or more TopNavMegaMenuItem components,
     * but accepts any ReactNode for custom layouts.
     */
    items?: ReactNode;
    /**
     * Featured content slot — rendered in the right panel on desktop,
     * and below the items in the mobile drawer.
     */
    featured?: ReactNode;
    /** Delay before showing the menu on hover (ms). @default 150 */
    delay?: number;
    /** Delay before hiding the menu after mouse leaves (ms). @default 250 */
    hideDelay?: number;
    /**
     * Callback fired when the mega menu opens or closes.
     * Useful for coordinating wrapper styles (e.g. hiding other shadows).
     */
    onOpenChange?: (isOpen: boolean) => void;
}
/**
 * A navigation item that displays a full-width mega menu on hover.
 *
 * Uses a composed children API with sub-components:
 * - `items` — ReactNode slot, typically TopNavMegaMenuItem components
 * - `featured` — ReactNode slot for the right-panel / drawer featured card
 *
 * Supports three render modes via TopNavRenderContext:
 * - `'default'`: desktop popover with hover/click trigger
 * - `'mobile-bar'`: hidden (returns null)
 * - `'drawer'`: inline collapsible matching TopNavMenu pattern
 *
 * @example
 * ```
 * <TopNav
 *   startContent={
 *     <TopNavMegaMenu
 *       label="Products"
 *       items={
 *         <>
 *           <TopNavMegaMenuItem
 *             title="Analytics"
 *             description="Track behavior"
 *             icon={<ChartIcon />}
 *             href="/analytics"
 *           />
 *           <TopNavMegaMenuItem
 *             title="Messaging"
 *             description="Real-time comms"
 *             icon={<ChatIcon />}
 *             href="/messaging"
 *           />
 *         </>
 *       }
 *       featured={
 *         <>
 *           <strong>New: AI Features</strong>
 *           <p>Explore our latest AI-powered tools.</p>
 *         </>
 *       }
 *     />
 *   }
 * />
 * ```
 */
export declare function TopNavMegaMenu({ ref, label, items, featured, delay, hideDelay, onOpenChange, }: TopNavMegaMenuProps): React.JSX.Element | null;
export declare namespace TopNavMegaMenu {
    var displayName: string;
}
//# sourceMappingURL=TopNavMegaMenu.d.ts.map