import { type ReactNode } from 'react';
import { type PlateEditor } from 'platejs/react';
import { type MenuContentProps, type MenuProps } from './menu';
export declare function BlockMenu({ id, animateZoom, children, getAnchorRect, open: openProp, placement, store }: Pick<MenuProps, 'open' | 'placement' | 'store'> & Pick<MenuContentProps, 'animateZoom' | 'getAnchorRect'> & {
    id?: string;
    children?: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
export declare const blockMenuItems: {
    askAI: {
        focusEditor: boolean;
        icon: import("react/jsx-runtime").JSX.Element;
        keywords: string[];
        label: string;
        shortcut: string;
        value: string;
        onSelect: ({ editor }: {
            editor: PlateEditor;
        }) => void;
    };
    caption: {
        icon: import("react/jsx-runtime").JSX.Element;
        keywords: string[];
        label: string;
        value: string;
        onSelect: ({ editor }: {
            editor: PlateEditor;
        }) => void;
    };
    comment: {
        icon: import("react/jsx-runtime").JSX.Element;
        keywords: string[];
        label: string;
        shortcut: string;
        value: string;
        onSelect: ({ editor }: {
            editor: PlateEditor;
        }) => void;
    };
    delete: {
        icon: import("react/jsx-runtime").JSX.Element;
        keywords: string[];
        label: string;
        shortcut: string;
        value: string;
        onSelect: ({ editor }: {
            editor: PlateEditor;
        }) => void;
    };
    duplicate: {
        focusEditor: boolean;
        icon: import("react/jsx-runtime").JSX.Element;
        keywords: string[];
        label: string;
        shortcut: string;
        value: string;
        onSelect: ({ editor }: {
            editor: PlateEditor;
        }) => void;
    };
    align: {
        component: typeof AlignMenuItem;
        filterItems: boolean;
        icon: import("react/jsx-runtime").JSX.Element;
        items: {
            icon: import("react/jsx-runtime").JSX.Element;
            label: string;
            value: string;
        }[];
        label: string;
        value: "align";
    };
    color: {
        component: typeof ColorMenuItem;
        filterItems: boolean;
        icon: import("react/jsx-runtime").JSX.Element;
        items: ({
            group: "color";
            items: {
                label: string;
                value: string;
            }[];
            label: string;
        } | {
            group: "background";
            items: {
                label: string;
                value: string;
            }[];
            label: string;
        })[];
        keywords: string[];
        label: string;
        value: "color";
    };
    turn_into: {
        component: typeof TurnIntoMenuItem;
        filterItems: boolean;
        icon: import("react/jsx-runtime").JSX.Element;
        items: ({
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "p";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "h1";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "h2";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "h3";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "todo";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "disc";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "decimal";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "toggle";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "code_block";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "blockquote";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            keywords: string[];
            label: string;
            value: "callout";
        } | {
            icon: import("react/jsx-runtime").JSX.Element;
            label: string;
            value: string;
            keywords?: undefined;
        })[];
        label: string;
        value: "turn_into";
    };
};
declare function ColorMenuItem(): import("react/jsx-runtime").JSX.Element;
declare function AlignMenuItem(): import("react/jsx-runtime").JSX.Element;
declare function TurnIntoMenuItem(): import("react/jsx-runtime").JSX.Element;
export {};
