import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { MenuVariantProps, SlotsToClasses, MenuSlots } from '@trail-ui/theme';
import { Placement } from 'react-aria';
import { MenuProps as MenuProps$1 } from 'react-aria-components';
import { MenuItemProps } from './menu-item.js';

interface MenuProps<T> extends MenuProps$1<T>, MenuVariantProps {
    placement?: Placement;
    /**
     * Classes object to style the menu and its children.
     */
    classNames?: SlotsToClasses<MenuSlots>;
    /**
     * The menu items classNames.
     */
    itemClasses?: MenuItemProps['classNames'];
}
interface InternalMenuContextValue {
    itemClasses?: MenuItemProps['classNames'];
}
declare const InternalMenuContext: react.Context<InternalMenuContextValue>;
declare function Menu<T extends object>(props: MenuProps<T>): react_jsx_runtime.JSX.Element;

export { InternalMenuContext, Menu, MenuProps };
