/**
 * A component that renders the popup menus.
 *
 * @param props
 */
export default function PopupMenuComponent(
  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;
  }
): import("preact").VNode<{}>;

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

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