import { ReactNode } from 'react';
import { MenuItemProps } from './item';
import { BasicSizeType } from '../utils/types';
interface IMenuDataSource extends MenuItemProps {
    label: string | ReactNode;
    value?: any;
    children?: IMenuDataSource[];
}
export interface MenuProps {
    prefix?: string;
    className?: string;
    size?: BasicSizeType;
    selectMode?: '' | 'single' | 'multiple';
    onItemClick?: (key: string, item: any, e: MouseEvent) => void;
    defaultOpenKeys?: string[];
    openKeys?: string[] | null;
    onOpen?: (openKeys: string[], extra: any) => void;
    inlineIndent?: number;
    defaultSelectedKeys?: string[];
    selectedKeys?: string[] | null;
    dataSource?: IMenuDataSource[];
    children?: ReactNode;
    onSelect?: (selectedKeys: string[], item: any, extra: any) => void;
}
export interface MenuContextProps extends Omit<MenuProps, 'onSelect'> {
    onOpen?: any;
    openKeys: string[];
    selectedKeys: string[];
    onClickItem: (itemKey: any, item: MenuItemProps, e: any) => void;
    onSelect: (itemKey: any, keyPath: any) => void;
}
declare const _default: import("react").ForwardRefExoticComponent<MenuProps & import("react").RefAttributes<any>>;
export default _default;
