import { Deck, DeckOp } from '@particle-academy/fancy-slides'; import { T as ToolHost } from '../tool-host-BqJRPr_T.js'; import { B as Bridge } from '../types-D_TzdBsK.js'; import '../types-ITRQFAir.js'; /** * Adapter — the bridge calls into these to read or change deck state. The * host owns the deck (it's a controlled prop on `DeckEditor` / `SlideViewer`). * Every mutation funnels through `apply(op)`, which the host typically * implements as `setDeck(deck => reduceDeck(deck, op))`. */ type SlidesBridgeAdapter = { /** Read the current deck. */ getDeck: () => Deck; /** * Apply a typed DeckOp. The same operations the editor + agent use, * so the host's reducer + undo stack handle both code paths identically. */ apply: (op: DeckOp) => void; /** Optional screen id for cross-screen presence highlighting. */ screenId?: string; }; type SlidesBridgeOptions = { adapter: SlidesBridgeAdapter; /** Identity stamped on activity / op metadata. */ agent?: { id: string; name?: string; color?: string; }; }; /** * registerSlidesBridge — wires the full slide-editor MCP surface against * a fancy-slides Deck. Tools map 1:1 to `DeckOp` cases (plus read-only * helpers); humans and agents take identical paths through the reducer. * * deck_describe read-only deck summary * deck_get full deck JSON * deck_set replace the whole deck (stream a presentation in) * deck_set_title rename * deck_apply_theme swap theme * slide_list ordered list of slide ids + titles * slide_get full slide JSON * slide_add insert a slide * slide_remove delete a slide * slide_reorder move a slide * slide_set_layout change layout preset * slide_set_notes update speaker notes * slide_set_background background color / image / gradient * slide_set_transition entrance transition (fade / slide / zoom) * element_add insert an element onto a slide * element_remove delete an element * element_update patch an element's fields * element_move set element x/y * element_resize set element w/h * element_set_animation set/clear an element's entrance build (fade/fly-in/zoom/wipe) */ declare function registerSlidesBridge(host: ToolHost, options: SlidesBridgeOptions): Bridge; export { type SlidesBridgeAdapter, type SlidesBridgeOptions, registerSlidesBridge };