import { type PopupProps } from '@gravity-ui/uikit';
import type { EditorState } from 'prosemirror-state';
import type { EditorView } from 'prosemirror-view';
import type { ActionStorage } from "../../../core/index.js";
import { type Logger2 } from "../../../logger.js";
import type { ToolbarButtonPopupData, ToolbarGroupItemData, ToolbarSingleItemData } from "../../../toolbar/index.js";
export type ContextGroupItemData = (ToolbarGroupItemData<ActionStorage> & {
    condition?: (state: EditorState) => void;
}) | ((ToolbarSingleItemData<ActionStorage> | ToolbarButtonPopupData<ActionStorage>) & {
    condition?: 'enabled';
});
export type ContextGroupData = ContextGroupItemData[];
export type ContextConfig = ContextGroupData[];
export type TooltipViewParams = {
    /** @default 'bottom' */
    placement?: 'top' | 'bottom';
    /** @default false */
    flip?: boolean;
};
export declare class TooltipView {
    #private;
    private readonly logger;
    private readonly actions;
    private readonly menuConfig;
    private readonly placement;
    private view;
    private baseProps;
    private _tooltipRenderItem;
    constructor(actions: ActionStorage, menuConfig: ContextConfig, logger: Logger2.ILogger, params: TooltipViewParams);
    get isTooltipOpen(): boolean;
    show(view: EditorView, popupProps?: PopupProps): void;
    hide(view: EditorView): void;
    destroy(): void;
    private getSelectionTooltipProps;
    private getFilteredConfig;
    private renderPopup;
    private get tooltipRenderItem();
    private calcPosition;
}
