import type { RefObject } from "react";
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
import type { Editor } from "@tiptap/react";
import { HeadlessToolbarMode } from "@/react/editor/types";
interface UseHeadlessFocusControllerOptions {
    editor: Editor | null;
    isNotionLike: boolean;
    containerRef: RefObject<HTMLDivElement | null>;
    headlessToolbarMode: HeadlessToolbarMode;
    isInsideCodeBlockLanguageSelect: (target: EventTarget | null) => boolean;
    onInlineMathClick: (node: ProseMirrorNode, pos: number) => void;
    onBlockMathClick: (node: ProseMirrorNode, pos: number) => void;
}
/**
 * Headless 模式聚焦控制：统一处理 focus/blur、菜单门控与公式点击补触发。
 */
export declare function useHeadlessFocusController({ editor, isNotionLike, containerRef, headlessToolbarMode, isInsideCodeBlockLanguageSelect, onInlineMathClick, onBlockMathClick, }: UseHeadlessFocusControllerOptions): {
    isEditorFocused: boolean;
    isEditorFocusStable: boolean;
    showHeadlessToolbar: boolean;
    showCodeBlockLanguageMenu: boolean;
    setCodeBlockLanguageMenuRoot: (node: HTMLDivElement | null) => void;
    syncFocusStateAfterMenuClose: (editorFocused: boolean) => void;
    isInsideEditorContainer: (target: EventTarget | null) => boolean;
    finalizeBlurFromOverlayClose: () => void;
};
export {};
