import React from 'react';
import { CSSObject } from 'styled-components';
interface RenderMenuItemStylesParams {
    level: number;
    collapsed: boolean;
    disabled: boolean;
    active: boolean;
}
interface RenderExpandIconParams {
    level: number;
    collapsed: boolean;
    disabled: boolean;
    active: boolean;
    open: boolean;
}
export interface MenuProps extends React.MenuHTMLAttributes<HTMLMenuElement> {
    closeOnClick?: boolean;
    renderMenuItemStyles?: (params: RenderMenuItemStylesParams) => CSSObject;
    renderExpandIcon?: (params: RenderExpandIconParams) => React.ReactNode;
    children?: React.ReactNode;
}
interface MenuState {
    closeOnClick?: boolean;
    renderMenuItemStyles?: (params: RenderMenuItemStylesParams) => CSSObject;
    renderExpandIcon?: (params: RenderExpandIconParams) => React.ReactNode;
}
export declare const MenuContext: React.Context<MenuContextProps | undefined>;
export interface MenuContextProps extends MenuState {
    updateMenuState: (values: MenuState) => void;
}
export declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLMenuElement>>;
export {};
