import { EditorView } from '@milkdown/prose/view';
import { ReactElement } from 'react';
import { Root } from 'react-dom/client';
import { BlockTransformCommand } from '../../../types/editor';
import { LinkPopoverControlProps, SelectionBlockTransformItem, SelectionTooltipItem } from './types';
/**
 * 创建选区菜单 DOM。
 */
export declare const createSelectionTooltipElement: (view: EditorView, items: SelectionTooltipItem[], getCurrentView: () => EditorView | null, toggleLinkPopover: (view: EditorView) => void, blockTransformControlHost: HTMLElement, iconRoots: Root[]) => HTMLDivElement;
/**
 * 块级转换 Popover 控件属性。
 */
interface BlockTransformPopoverControlProps {
    /** 编辑器视图读取函数。 */
    getCurrentView: () => EditorView | null;
    /** Popover Portal 挂载容器。 */
    portalContainer: HTMLElement;
    /** Popover 碰撞边界，通常为编辑器滚动容器。 */
    collisionBoundary: HTMLElement | null;
    /** 图标尺寸。 */
    iconSize: number;
    /** 图标线宽。 */
    iconStrokeWidth: number;
    /** 转换菜单标题。 */
    menuTitle: string;
    /** 转换菜单项。 */
    items: SelectionBlockTransformItem[];
    /** 当前按钮文案。 */
    activeLabel: string;
    /** 弹层展开状态。 */
    open: boolean;
    /** 开关回调。 */
    onOpenChange: (nextOpen: boolean) => void;
    /** 当前激活命令集合。 */
    activeCommands: ReadonlySet<BlockTransformCommand>;
}
/**
 * 块级转换 Popover 控件。
 */
export declare const BlockTransformPopoverControl: (props: BlockTransformPopoverControlProps) => ReactElement;
/**
 * 链接编辑 Popover 控件。
 */
export declare const LinkPopoverControl: (props: LinkPopoverControlProps) => ReactElement;
/**
 * 刷新菜单按钮激活态。
 */
export declare const updateSelectionTooltipActiveState: (tooltip: HTMLElement, view: EditorView, items: SelectionTooltipItem[]) => void;
/**
 * 创建 tooltip 展示判断函数。
 */
export declare const createSelectionTooltipShouldShow: (tooltip: HTMLElement, isPinned: () => boolean, isBlockTransformOpen: () => boolean) => ((view: EditorView) => boolean);
export {};
//# sourceMappingURL=tooltip-view.d.ts.map