import { type JSX } from 'react';
import * as React from 'react';
/**
 * Anything we can resolve into a viewport `{ x, y }` position for the context menu:
 *   - A React or native pointer event → use `pageX`/`pageY` (legacy, click-driven path)
 *   - A DOM/SVG element              → use the element's bounding-rect center
 *                                      (keyboard-driven path: trigger.focus()+Enter)
 *   - An explicit `{ x, y }` literal → use it directly
 */
export type OpenMenuTrigger = React.MouseEvent | Element | {
    x: number;
    y: number;
};
export interface WithContextMenuProps {
    /** Menu item trigger that accepts openMenu prop */
    children: (props: {
        openMenu: (trigger: OpenMenuTrigger) => void;
    }) => JSX.Element;
    /** A function that returns an array of menu items */
    renderMenuItems: () => React.ReactNode;
    /** On menu open focus the first element */
    focusOnOpen?: boolean;
}
export declare const WithContextMenu: ({ children, renderMenuItems, focusOnOpen }: WithContextMenuProps) => import("react/jsx-runtime").JSX.Element;
