/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import { type ReactNode } from 'react';
import { type COLLAPSE_ELEM_BEFORE_TYPE } from '../menu-item-signals';
import type { MenuItemCommonProps, MenuItemOnClick } from '../types';
export type FlyoutMenuItemTriggerProps = MenuItemCommonProps & {
    /**
     * `ReactNode` to be placed visually before the `children`.
     *
     * This `ReactNode` will be rendered visually on top of the main
     * interactive element for the menu item. If this element does not
     * contain an interactive element (`button` or `a`) then `pointer-events`
     * will be set to `none` on this slot so that users can click through
     * this element onto the main interactive element of the menu item.
     *
     * If you want to collapse the `elemBefore` so it takes up no space,
     * then pass in the `COLLAPSE_ELEM_BEFORE` symbol. Keep in mind that
     * collapsing the `elemBefore` can break visual alignment and
     * will make it difficult for users to visually distinguish levels
     * in the side navigation.
     *
     * @example
     *
     * ```tsx
     * <FlyoutMenuItemTrigger elemBefore={<HomeIcon label="home" />}>Home</FlyoutMenuItemTrigger>
     *
     * // collapse the elemBefore
     * <FlyoutMenuItemTrigger elemBefore={COLLAPSE_ELEM_BEFORE}>Home</FlyoutMenuItemTrigger>
     * ```
     */
    elemBefore?: ReactNode | COLLAPSE_ELEM_BEFORE_TYPE;
    /**
     * Called when the user has clicked on the trigger.
     *
     * If you are controlling the open state of the flyout menu, use this to update your state.
     */
    onClick?: MenuItemOnClick<HTMLButtonElement>;
    /**
     * Indicates that the menu item is selected.
     */
    isSelected?: boolean;
};
/**
 * __FlyoutMenuItemTrigger__
 *
 * The button that toggles the flyout menu.
 */
export declare const FlyoutMenuItemTrigger: React.ForwardRefExoticComponent<React.PropsWithoutRef<FlyoutMenuItemTriggerProps> & React.RefAttributes<HTMLButtonElement>>;
