import React from 'react';
import type { DivAttributes } from '../_utils/types';
import type { ElementTypeChecker, MenuFooterProps, MenuGroupProps, MenuHeaderProps, MenuHook, MenuHookConfig, MenuItemProps, MenuOptionsProps, MenuProps, MenuSearchProps } from './Menu.types';
export declare const isItem: ElementTypeChecker;
export declare function useMenu({ isSelectable, keyHandlerRef: externalKeyHandlerRef, multiple, onScrollBottom, onSearch, onSelect, scrollable, }: MenuHookConfig): MenuHook;
export declare const MenuHookContext: React.Context<MenuHook | null>;
export declare function useMenuHookContext(): MenuHook;
/**

 Menus are used in conjunction with components that contain dropdowns.
 For example, multi select, single select, and dropdown.

 @since 10.19.0

 @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)

 @see [Design Guidelines](https://design.procore.com/menu)

 */
export declare const Menu_: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLDivElement>>;
export declare const Group: React.ForwardRefExoticComponent<DivAttributes & MenuGroupProps & React.RefAttributes<HTMLDivElement>>;
export declare const Item: React.ForwardRefExoticComponent<Omit<DivAttributes & MenuItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
export declare const Options: React.ForwardRefExoticComponent<MenuOptionsProps & React.RefAttributes<HTMLDivElement>>;
export declare const Search: {
    ({ className, i18nScope, placeholder, onChange: _onChange, ...props }: MenuSearchProps): React.JSX.Element;
    displayName: string;
};
export declare const Header: React.ForwardRefExoticComponent<DivAttributes & MenuHeaderProps & React.RefAttributes<HTMLDivElement>>;
export declare const Footer: React.ForwardRefExoticComponent<DivAttributes & MenuFooterProps & React.RefAttributes<HTMLDivElement>>;
export declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLDivElement>> & {
    Footer: React.ForwardRefExoticComponent<DivAttributes & MenuFooterProps & React.RefAttributes<HTMLDivElement>>;
    Group: React.ForwardRefExoticComponent<DivAttributes & MenuGroupProps & React.RefAttributes<HTMLDivElement>>;
    Header: React.ForwardRefExoticComponent<DivAttributes & MenuHeaderProps & React.RefAttributes<HTMLDivElement>>;
    Item: React.ForwardRefExoticComponent<Omit<DivAttributes & MenuItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
    Options: React.ForwardRefExoticComponent<MenuOptionsProps & React.RefAttributes<HTMLDivElement>>;
    Search: {
        ({ className, i18nScope, placeholder, onChange: _onChange, ...props }: MenuSearchProps): React.JSX.Element;
        displayName: string;
    };
};
