import { EditContextType } from "./client/editContext";
import { FieldDescriptor } from "../types";
import { Component, FieldButton } from "./pageModel";
import { MenuItem } from "../config/types";
export declare function buildComponentContextMenuItems(components: Component[], editContext: EditContextType, field?: FieldDescriptor, fieldButtons?: FieldButton[], onParameterizedAction?: (field: FieldDescriptor, action: FieldButton, allFieldButtons: FieldButton[], event: any) => void): Promise<MenuItem[]>;
export declare function showComponentContextMenu(components: Component[], editContext: EditContextType, field?: FieldDescriptor, fieldButtons?: FieldButton[], onParameterizedAction?: (field: FieldDescriptor, action: FieldButton, allFieldButtons: FieldButton[], event: any) => void): Promise<(e: any) => boolean>;
export interface EditContextMenuRef {
    show: (event: any, menuItems: MenuItem[]) => void;
    update: (menuItems: MenuItem[]) => void;
    close: (event: any) => void;
}
interface EditContextMenuProps {
    onOpenChange?: (open: boolean) => void;
}
export declare const EditContextMenu: import("react").ForwardRefExoticComponent<EditContextMenuProps & import("react").RefAttributes<EditContextMenuRef>>;
export {};
