import React from 'react'; import { FlintMenu as FlintMenuElement } from '@getufy/flint-ui/menu/flint-menu'; export interface FlintMenuCloseDetail { open: false; } /** * A menu displays a list of choices on a temporary surface. Place it as a sibling to its anchor element inside a `position:relative` container. * * @slot (default) - Menu content (flint-menu-item elements). */ export interface FlintMenuProps extends React.HTMLAttributes { /** Whether the menu is open/visible. */ open?: boolean; /** * Menu placement relative to its anchor container. * Allowed values: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'right-start' | 'left-start' */ placement?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'right-start' | 'left-start'; /** When true, selecting an item automatically fires flint-menu-close. */ closeOnSelect?: boolean; /** When true, constrains height to --flint-menu-max-height (default 300px) and enables scrolling. */ scrollable?: boolean; /** Accessible label for the menu surface (aria-label on role="menu"). */ label?: string | undefined; /** When true, the menu dropdown uses `position: fixed` instead of `position: absolute` */ hoist?: boolean; /** * Fired when the menu requests to be closed (backdrop click, Escape, or item select). detail: `{ open: false }` * DOM event: `flint-menu-close` */ onFlintMenuClose?: (event: CustomEvent) => void; } export declare const FlintMenu: React.ForwardRefExoticComponent>;