import { TCromwellBlock, TCromwellBlockData, TCromwellBlockType, TPluginEntity } from '@cromwell/core';
import React from 'react';
export declare type TBlockMenuProps = {
    block?: TCromwellBlock;
    global?: boolean;
    isGlobalElem: (block: HTMLElement) => boolean;
    getBlockElementById: typeof import('@cromwell/core-frontend')['getBlockElementById'];
    modifyData?: (data: TCromwellBlockData) => void;
    deleteBlock?: () => void;
    addBlock?: (block: TCromwellBlockData, position: 'top' | 'bottom') => void;
    addNewBlockAfter?: (bType: TCromwellBlockType) => void;
    createBlockAfter?: (bType: TCromwellBlockType, pluginInfo?: {
        pluginName?: string;
        blockName?: string;
    }) => void;
    icon?: JSX.Element;
    menuItems?: JSX.Element | JSX.Element[];
    settingsContent?: React.ReactNode;
    plugins: TPluginEntity[] | null;
    setCanDrag: (canDrag: boolean) => void;
    setCanDeselect: (canDeselect: boolean) => void;
    updateFramesPosition: () => any;
};
export declare const BlockMenu: () => React.ReactPortal;
export declare const BlockIcon: ({ bType }: {
    bType: any;
}) => any;
