import { StickyNoteItem, ShapeItem, ConnectorItem, Stroke, Viewport, RemoteCursor } from '@particle-academy/fancy-whiteboard'; import { T as ToolHost } from '../tool-host-BqJRPr_T.js'; import { B as Bridge } from '../types-D_TzdBsK.js'; import '../types-ITRQFAir.js'; /** * State accessors / mutators the bridge needs from the host. The host owns * whiteboard state (controlled props on fancy-whiteboard components); the * bridge calls into these to read or change it. */ type WhiteboardBridgeAdapter = { getNotes: () => StickyNoteItem[]; setNotes: (next: StickyNoteItem[] | ((prev: StickyNoteItem[]) => StickyNoteItem[])) => void; getShapes: () => ShapeItem[]; setShapes: (next: ShapeItem[] | ((prev: ShapeItem[]) => ShapeItem[])) => void; getConnectors: () => ConnectorItem[]; setConnectors: (next: ConnectorItem[] | ((prev: ConnectorItem[]) => ConnectorItem[])) => void; getStrokes: () => Stroke[]; setStrokes: (next: Stroke[] | ((prev: Stroke[]) => Stroke[])) => void; getViewport: () => Viewport; setViewport: (next: Viewport) => void; /** Optional: agent presence cursor (for the visualizer). */ setAgentCursor?: (cursor: RemoteCursor | null) => void; }; type WhiteboardBridgeOptions = { adapter: WhiteboardBridgeAdapter; /** Identity used when the agent stamps authorId on items / cursor. */ agent?: { id: string; name?: string; color?: string; }; }; /** * registerWhiteboardBridge — wires a full MCP tool set against a fancy- * whiteboard session controlled by the host. Returns a Bridge handle the * host can dispose to tear everything down. */ declare function registerWhiteboardBridge(host: ToolHost, options: WhiteboardBridgeOptions): Bridge; export { type WhiteboardBridgeAdapter, type WhiteboardBridgeOptions, registerWhiteboardBridge };