"use client"; import { create } from "zustand"; import type { ReferenceTarget } from "@/types/search"; import type { Json } from "@/types/supabase"; export interface EditorReferenceBridgeResult { blockId: string | null; } export interface EditorReferenceBridge { insertInlineReference: (target: ReferenceTarget, alias?: string) => EditorReferenceBridgeResult; insertEmbedReference: (target: ReferenceTarget) => EditorReferenceBridgeResult; replaceWithSnapshot: (blocks: Json) => void; } interface EditorBridgeState { bridge: EditorReferenceBridge | null; registerBridge: (bridge: EditorReferenceBridge | null) => void; } export const useEditorBridgeStore = create((set) => ({ bridge: null, registerBridge: (bridge) => set({ bridge }), }));