import { Divider, ItemGroup } from 'rc-menu';
import React from 'react';
import Item from './MenuItem';
import SubMenu from './SubMenu';
import './style.less';
export interface SelectParam {
    key: string;
    keyPath: Array<string>;
    item: any;
    domEvent: Event;
    selectedKeys: Array<string>;
}
export interface ClickParam {
    key: string;
    keyPath: Array<string>;
    item: any;
    domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
}
export type MenuMode = 'vertical' | 'vertical-left' | 'vertical-right' | 'horizontal' | 'inline';
export interface MenuProps {
    id?: string;
    mode?: MenuMode;
    selectable?: boolean;
    selectedKeys?: Array<string>;
    defaultSelectedKeys?: Array<string>;
    openKeys?: Array<string>;
    defaultOpenKeys?: Array<string>;
    onOpenChange?: (openKeys: string[]) => void;
    onSelect?: (param: SelectParam) => void;
    onDeselect?: (param: SelectParam) => void;
    onClick?: (param: ClickParam) => void;
    style?: React.CSSProperties;
    openAnimation?: string;
    openTransitionName?: string;
    motion?: object;
    className?: string;
    prefixCls?: string;
    multiple?: boolean;
    inlineIndent?: number;
    inlineCollapsed?: boolean;
    subMenuCloseDelay?: number;
    subMenuOpenDelay?: number;
    focusable?: boolean;
    onMouseEnter?: (e: React.MouseEvent<HTMLUListElement>) => void;
    getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
    overflowedIndicator?: React.ReactNode;
    forceSubMenuRender?: boolean;
    children?: React.ReactNode;
}
type InternalMenuProps = MenuProps;
export interface MenuState {
    openKeys: string[];
    switchingModeFromInline: boolean;
    inlineOpenKeys: string[];
    prevProps: InternalMenuProps;
}
export declare class Menu extends React.Component<MenuProps, {}> {
    static Divider: typeof Divider;
    static Item: typeof Item;
    static SubMenu: typeof SubMenu;
    static ItemGroup: typeof ItemGroup;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=index.d.ts.map