/**
 * @param entries
 *
 * @return
 */
export function groupEntries(entries: PopupMenuEntry[]): PopupMenuGroup[];

/**
 * A component that renders the popup menus.
 *
 */
export default class PopupMenuComponent {
    /**
     * @param props
     */
    constructor(props: {
        onClose: () => void;
        onSelect: () => void;
        position: (element: HTMLElement) => Point;
        className: string;
        entries: PopupMenuEntry[];
        headerEntries: PopupMenuHeaderEntry[];
        scale: number;
        title?: string;
        search?: boolean;
        emptyPlaceholder?: PopupMenuEmptyPlaceholder;
        width?: number;
        searchFn: searchFn;
    });
}

type PopupMenuEntry = import("./PopupMenuProvider").PopupMenuEntry;
type PopupMenuHeaderEntry = import("./PopupMenuProvider").PopupMenuHeaderEntry;
export type PopupMenuEmptyPlaceholder = import("./PopupMenuProvider").PopupMenuEmptyPlaceholderProvider | import("./PopupMenuProvider").PopupMenuEmptyPlaceholder;
type PopupMenuGroup = import("./PopupMenuProvider").PopupMenuGroup;
export type searchFn = typeof import("../search/search").default;
type Point = import("../../util/Types").Point;
