/**
 * @file TabMenu.tsx
 * @input Uses React, StyleX, usePopover, TabListContext
 * @output Exports TabMenu component, TabMenuProps type, TabMenuOption type
 * @position Menu trigger button; opens dropdown of overflow menu items and
 *   mirrors selected tab indicator positioning
 *
 * SYNC: When modified, update:
 * - /packages/core/src/TabList/TabList.doc.mjs
 * - /packages/core/src/TabList/index.ts
 * - /packages/core/src/TabList/TabList.test.tsx
 * - /packages/cli/assets/templates/blocks/components/TabList/ (showcase blocks)
 */
import React, { type ReactNode } from 'react';
import { type IconType } from '../Icon';
import type { BaseProps } from '../BaseProps';
export interface TabMenuOption {
    value: string;
    label: string;
    /**
     * Icon to display before the label.
     */
    icon?: ReactNode | IconType;
}
export interface TabMenuProps extends Pick<BaseProps<HTMLButtonElement>, 'xstyle' | 'className' | 'style'> {
    ref?: React.Ref<HTMLButtonElement>;
    /**
     * Label for the trigger button and dropdown heading.
     * Displayed as trigger text when no option is selected.
     */
    label: string;
    /**
     * Menu options rendered in the dropdown.
     */
    options: TabMenuOption[];
}
/**
 * Tab menu trigger that opens a dropdown of additional tab options.
 * Shows the selected option's label as trigger text when an option is active.
 * Dropdown includes a heading showing the menu's label prop.
 *
 * @example
 * ```
 * <TabList value={tab} onChange={setTab}>
 *   <Tab value="overview" label="Overview" />
 *   <TabMenu label="More" options={[
 *     { value: "settings", label: "Settings" },
 *     { value: "history", label: "History" },
 *   ]} />
 * </TabList>
 * ```
 */
export declare function TabMenu({ ref, label, options, xstyle, className, style, }: TabMenuProps): React.JSX.Element;
export declare namespace TabMenu {
    var displayName: string;
}
//# sourceMappingURL=TabMenu.d.ts.map