import * as react from 'react'; import { ReactNode, CSSProperties } from 'react'; import { StickyNoteItem, ShapeItem, ConnectorItem, Stroke, Viewport } from '@particle-academy/fancy-whiteboard'; import { S as SessionDescriptor } from '../../token-BZ8doMam.js'; type SharedWhiteboardProps = { /** Initial board contents. */ initialNotes?: StickyNoteItem[]; initialShapes?: ShapeItem[]; initialConnectors?: ConnectorItem[]; initialStrokes?: Stroke[]; initialViewport?: Viewport; /** Agent identity displayed in the panel + cursor. */ agent?: { id: string; name?: string; color?: string; }; /** * Where the relay HTTP endpoints live. The host app implements these (see * docs/relay-protocol.md). Pass `null` to disable sharing — the board * still works locally with the in-process MCP server. */ shareBaseUrl?: string | null; /** * Optional callback to register a new session token with the host's * relay broker. Receives `{ session, token }` and should return after * registration. Defaults to POSTing JSON to `${shareBaseUrl}/register`. */ onRegisterSession?: (descriptor: SessionDescriptor) => Promise; /** Show the agent panel. Default true. */ showAgentPanel?: boolean; /** Show share controls. Default true. */ showShareControls?: boolean; /** Auto-broadcast local edits as `notifications/state_update`. Default true. */ broadcastEdits?: boolean; /** Pixel height of the board area. Default 640. */ height?: number; /** Header content rendered above the board. */ header?: ReactNode; className?: string; style?: CSSProperties; }; /** * SharedWhiteboard — drop-in component that bundles every piece of the * "agent-collaborative whiteboard" UX: board with all primitives, in-page * MCP server, share controls, agent panel, presence cursor, activity * highlight, and outbound state broadcast. * * Most apps only need this one component. For deeper customization, swap * it for the lower-level primitives (Board, MicroMcpServer, ShareControls). */ declare function SharedWhiteboard({ initialNotes, initialShapes, initialConnectors, initialStrokes, initialViewport, agent, shareBaseUrl, onRegisterSession, showAgentPanel, showShareControls, broadcastEdits, height, header, className, style, }: SharedWhiteboardProps): react.JSX.Element; export { SharedWhiteboard, type SharedWhiteboardProps };