import type { Editor } from "@tiptap/react";
/** 可复用的 inline 控件禁用键。 */
export type InlineControlKey = "bold" | "italic" | "underline" | "strikethrough" | "link" | "highlight" | "textColor" | "superscript" | "subscript";
/** inline code 场景下的控件禁用状态映射。 */
export type InlineControlDisabledState = Record<InlineControlKey, boolean>;
/** 根据当前 inline code 状态生成控件禁用态映射。 */
export declare function createInlineControlDisabledState(isInsideCode: boolean): InlineControlDisabledState;
/** 切换文字颜色：重复选中同色时取消。 */
export declare function toggleTextColor(editor: Editor, color: string, actions: {
    setColor: (next: string) => void;
    unsetColor: () => void;
}): void;
/** 切换高亮色：空字符串清空高亮，重复选中同色时取消。 */
export declare function toggleHighlightColor(editor: Editor, color: string, actions: {
    setHighlight: (next: string) => void;
    unsetHighlight: () => void;
}): void;
/** 获取当前链接并进入编辑状态。 */
export declare function openLinkDraft(editor: Editor): string;
/** 解析链接草稿：空字符串返回 null。 */
export declare function resolveLinkDraftHref(linkDraft: string): string | null;
/** 提交链接草稿：空链接直接忽略。 */
export declare function submitLinkDraft(linkDraft: string, actions: {
    setLink: (href: string) => void;
}): boolean;
/** 删除当前链接。 */
export declare function removeLink(actions: {
    unsetLink: () => void;
}): void;
