import type { Node } from "@tiptap/pm/model"; export interface RichTextMarksConfig { /** Controls bold mark behavior: 'disabled' to disable, 'default' or undefined to enable */ bold?: "disabled" | "default"; /** Controls italic mark behavior: 'disabled' to disable, 'default' or undefined to enable */ italic?: "disabled" | "default"; /** Controls underline mark behavior: 'disabled' to disable, 'default' or undefined to enable */ underline?: "disabled" | "default"; /** Controls strike mark behavior: 'disabled' to disable, 'default' or undefined to enable */ strike?: "disabled" | "default"; } export interface ExtensionKitOptions { setSelectedNode?: (node: Node) => void; shouldHandleClick?: () => boolean; /** Variables available for autocomplete suggestions */ variables?: Record; /** When true, disables variable autocomplete and allows typing any variable */ disableVariablesAutocomplete?: boolean; /** * Controls rich text formatting marks (bold, italic, underline, strike). * - `'plain-text'`: Disables all rich text marks (for SMS, Push, In-App) * - Object with mark configurations: Enables granular control per mark * - `undefined`: All marks enabled (default) */ textMarks?: "plain-text" | RichTextMarksConfig; /** * Whether a per-run `fontSize` mark can be authored. Defaults to `true`, so * only the email canvas — which passes `emailFormattingEnabled` — changes * behaviour. The extension is still registered when false; see * {@link FontSizeOptions.enabled} for why removing it would lose stored values. */ fontSize?: boolean; } export declare const ExtensionKit: (options?: ExtensionKitOptions) => (import("@tiptap/core").Node | import("@tiptap/core").Extension | import("@tiptap/core").Mark)[]; export default ExtensionKit;