import type { Editor } from "@tiptap/core"; import type { VariableViewMode } from "../../TemplateEditor/store"; import { type VariableStorage } from "./variable-storage.types"; /** * Gets the variable view mode from the editor storage. * Safely handles cases where storage or variable storage is not initialized. * * @param editor - The TipTap editor instance * @param fallback - Fallback value if storage is not available (default: "show-variables") * @returns The current variable view mode * * @example * ```typescript * const editor = useCurrentEditor(); * const viewMode = getVariableViewMode(editor); * ``` */ export declare function getVariableViewMode(editor: Editor | null | undefined, fallback?: VariableViewMode): VariableViewMode; /** * Sets the variable view mode in the editor storage. * Safely handles cases where storage or variable storage is not initialized. * * @param editor - The TipTap editor instance * @param mode - The new variable view mode to set * @returns true if the mode was set successfully, false otherwise * * @example * ```typescript * const editor = useCurrentEditor(); * setVariableViewMode(editor, 'wysiwyg'); * ``` */ export declare function setVariableViewMode(editor: Editor | null | undefined, mode: VariableViewMode): boolean; /** * Gets the entire variable storage object from the editor. * Safely handles cases where storage is not initialized. * * @param editor - The TipTap editor instance * @returns The variable storage object, or undefined if not available * * @example * ```typescript * const editor = useCurrentEditor(); * const storage = getVariableStorage(editor); * if (storage) { * console.log('View mode:', storage.variableViewMode); * } * ``` */ export declare function getVariableStorage(editor: Editor | null | undefined): VariableStorage | undefined; /** * Initializes the variable storage on an editor instance. * Should be called in the Variable extension's addStorage() method. * * @param defaultViewMode - The default variable view mode (default: "show-variables") * @returns The initial storage object * * @example * ```typescript * // In Variable extension * addStorage() { * return initializeVariableStorage(); * } * ``` */ export declare function initializeVariableStorage(defaultViewMode?: VariableViewMode): VariableStorage; /** * Type guard to check if an object has variable storage */ export declare function hasVariableStorage(storage: unknown): storage is { variable: VariableStorage; };