import * as Ariakit from '@ariakit/react';
import { ClassValue } from 'clsx';
import React from 'react';
import { ButtonProps as ButtonProps } from '../Button/Button';
import { Props as ButtonIconProps } from '../ButtonIcon/ButtonIcon';
export declare const useMenu: () => Ariakit.MenuStore;
type Props = React.PropsWithChildren<Partial<Ariakit.MenuStoreProps>>;
type MenuComponent = React.FC<Props> & {
    Button: typeof Button;
    List: typeof List;
    Item: typeof Item;
    Divider: typeof Divider;
    Heading: typeof Heading;
};
export declare const Menu: MenuComponent;
export type MenuButtonProps = React.PropsWithChildren<{
    cssClass?: ClassValue | ClassValue[];
}> & Omit<Ariakit.MenuButtonProps, 'store'> & Pick<ButtonProps, 'iconLeft' | 'iconRight'> & {
    emphasis?: ButtonProps['emphasis'];
    icon?: ButtonIconProps['icon'];
    kind?: ButtonProps['kind'];
    size?: ButtonProps['size'] | ButtonIconProps['size'];
};
declare const Button: React.FC<Omit<MenuButtonProps, 'store'>>;
type ListProps = React.PropsWithChildren<{
    cssClass?: ClassValue | ClassValue[];
}> & Partial<Ariakit.MenuProps>;
declare const List: React.FC<ListProps>;
declare const Item: React.FC<Ariakit.MenuItemProps>;
declare const Divider: React.FC<Ariakit.MenuSeparatorProps>;
declare const Heading: React.FC<Ariakit.MenuHeadingProps>;
export {};
