import { T as ToolHost } from '../tool-host-BqJRPr_T.js'; import { B as Bridge } from '../types-D_TzdBsK.js'; import { WorkbookData } from '@particle-academy/fancy-sheets'; import '../types-ITRQFAir.js'; /** * Cell writes funnel through fancy-sheets' own `reduceWorkbook` + `SheetOp` — * the same reducer that drives `` — so agent edits recalculate * formulas and land byte-identical to human edits, mirroring how the slides * bridge works. Types come straight from the package (no drift); the reducer * VALUE is lazy-imported inside the mutation handlers so the package barrel * never statically pulls this optional peer (see issue #3). */ type SheetsBridgeAdapter = { /** fancy-screens screen id (optional) so activity events know which screen the sheet lives in. */ screenId?: string; /** Read the current workbook. */ getWorkbook: () => WorkbookData; /** Replace the workbook. Host wires this to its onChange. */ setWorkbook: (next: WorkbookData) => void; /** Optional: programmatically change the active cell. */ setActiveCell?: (sheetId: string, address: string) => void; }; type SheetsBridgeOptions = { adapter: SheetsBridgeAdapter; agent?: { id: string; name?: string; color?: string; }; }; /** * registerSheetsBridge — schema-aware MCP access to a fancy-sheets workbook. * Tools are sheet-aware (every mutator takes an explicit `sheet` id, defaulting * to the active sheet when omitted) so an agent can author multi-sheet docs. */ declare function registerSheetsBridge(host: ToolHost, options: SheetsBridgeOptions): Bridge; export { type SheetsBridgeAdapter, type SheetsBridgeOptions, registerSheetsBridge };