import { Dispatch, HTMLProps, SetStateAction, AriaAttributes, ReactElement } from 'react';
import { IconProps } from '../Icon';
import { ButtonProps } from '../Button';
type PopoverControlProps = {
disableAutoHeight?: boolean;
root?: HTMLElement | React.MutableRefObject | null;
placement?: "bottom-start" | "top-start" | "bottom-end" | "top-end";
};
export declare const MenuLegacyContext: import('react').Context<{
getItemProps: (userProps?: HTMLProps) => Record;
activeIndex: number | null;
setActiveIndex?: Dispatch>;
setHasFocusInside?: Dispatch>;
isOpen: boolean;
} & PopoverControlProps>;
type TriggerReturnProps = {
"data-open"?: boolean;
"data-focus-inside"?: boolean;
"aria-controls"?: AriaAttributes["aria-controls"];
"aria-expanded"?: AriaAttributes["aria-expanded"];
"aria-haspopup"?: AriaAttributes["aria-haspopup"];
id?: string;
onClick?: () => void;
onFocus?: () => void;
onKeyDown?: () => void;
onKeyUp?: () => void;
onMouseDown?: () => void;
onPointerDown?: () => void;
ref?: ((instance: HTMLElement | null) => void) | null;
};
type DefaultTriggerProps = {
trigger?: never;
open?: boolean;
icon?: IconProps["svg"];
} & ({
label: string;
} | {
"aria-label": string;
} | {
"aria-labellbedby": string;
}) & Omit & PopoverControlProps;
type CustomTriggerProps = {
trigger: (props: TriggerReturnProps) => ReactElement;
icon?: IconProps["svg"];
label?: never;
open?: boolean;
} & Omit, "ref"> & PopoverControlProps;
export type MenuLegacyProps = DefaultTriggerProps | CustomTriggerProps;
export declare const MenuLegacyComponent: import('react').ForwardRefExoticComponent>;
export declare const MenuLegacy: import('react').ForwardRefExoticComponent> & {
Item: import('react').ForwardRefExoticComponent<{
icon?: IconProps["svg"];
label: import('react').ReactNode;
disabled?: boolean;
} & Omit, HTMLButtonElement>, "ref"> & import('react').ButtonHTMLAttributes & import('react').RefAttributes>;
};
export {};