import type { MenuRenderFn, MenuResolution, MutableRefObject } from "./shared/LexicalMenu"; import { CommandListenerPriority, LexicalNode } from "lexical"; import { type JSX, Accessor } from "solid-js"; import { MenuOption } from "./shared/LexicalMenu"; export type ContextMenuRenderFn = (anchorElementRef: MutableRefObject, itemProps: { selectedIndex: Accessor; selectOptionAndCleanUp: (option: TOption) => void; setHighlightedIndex: (index: number) => void; options: Array; }, menuProps: { setMenuRef: (element: HTMLElement | null) => void; }) => JSX.Element; export type LexicalContextMenuPluginProps = { onSelectOption: (option: TOption, textNodeContainingQuery: LexicalNode | null, closeMenu: () => void, matchingString: string) => void; options: Array; onClose?: () => void; onWillOpen?: (event: MouseEvent) => void; onOpen?: (resolution: MenuResolution) => void; menuRenderFn: ContextMenuRenderFn; anchorClassName?: string; commandPriority?: CommandListenerPriority; parent?: HTMLElement; }; export declare function LexicalContextMenuPlugin(props: LexicalContextMenuPluginProps): JSX.Element; export { MenuOption, MenuRenderFn, MenuResolution };