import { ReactElement } from 'react'; import { DivProps, Id, Obj, SelectableProps, Size } from '../../types'; import { MenuItemProps } from '../menuItem'; export type ForwardProps = { size?: Size; showCheckbox?: boolean; ellipsis?: boolean; indent?: number; }; export interface ItemPropType extends Omit, Obj { children?: ItemPropType[]; } interface MenuBaseProps extends ForwardProps, Omit { items?: I[]; primaryKey?: keyof I; labelKey?: keyof I; childrenKey?: keyof I; defaultExpanded?: V[]; expanded?: V[]; onExpandedChange?(expanded: V[], itemValue: V, isExpand: boolean): void; } export type MenuProps = MenuBaseProps & SelectableProps; interface MenuContext extends ForwardProps { inMenu?: boolean; expandedSet?: Set; setExpanded?(key: V, expanded: boolean): void; multiple?: boolean; selected?: V | V[]; toggleSelected?(key: V): void; } declare const MenuContext: import("react").Context>; export declare function useMenuContext(): MenuContext; export declare const Menu: (props: MenuProps) => ReactElement; export {};