ooxml-core 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +10 -6
  2. package/dist/automation/docx.d.ts +13 -0
  3. package/dist/automation/docx.d.ts.map +1 -0
  4. package/dist/automation/index.cjs +36953 -0
  5. package/dist/automation/index.d.ts +6 -0
  6. package/dist/automation/index.d.ts.map +1 -0
  7. package/dist/automation/index.mjs +36939 -0
  8. package/dist/automation/node.cjs +103 -0
  9. package/dist/automation/node.d.ts +16 -0
  10. package/dist/automation/node.d.ts.map +1 -0
  11. package/dist/automation/node.mjs +101 -0
  12. package/dist/automation/visio.d.ts +30 -0
  13. package/dist/automation/visio.d.ts.map +1 -0
  14. package/dist/automation/xlsx.d.ts +25 -0
  15. package/dist/automation/xlsx.d.ts.map +1 -0
  16. package/dist/pptx/automation/index.cjs +149047 -0
  17. package/dist/pptx/automation/index.d.ts +1474 -0
  18. package/dist/pptx/automation/index.d.ts.map +1 -0
  19. package/dist/pptx/automation/index.mjs +148926 -0
  20. package/dist/pptx/chunks/{index-BWUBPGgv.d.ts → index-BWRd8p4y.d.ts} +2 -2
  21. package/dist/pptx/chunks/{index-BWUBPGgv.d.ts.map → index-BWRd8p4y.d.ts.map} +1 -1
  22. package/dist/pptx/chunks/index-LoCVDu8Z.d.ts +9644 -0
  23. package/dist/pptx/chunks/index-LoCVDu8Z.d.ts.map +1 -0
  24. package/dist/pptx/chunks/{text-operations-IlJiffp7.d.ts → text-operations-2tKzrY5o.d.ts} +7381 -7381
  25. package/dist/pptx/chunks/text-operations-2tKzrY5o.d.ts.map +1 -0
  26. package/dist/pptx/cli/index.d.ts +1 -1
  27. package/dist/pptx/converter/index.d.ts +1 -1
  28. package/dist/pptx/index.d.ts +4 -9644
  29. package/dist/visio/edit-geometry-admission.d.ts +6 -3
  30. package/dist/visio/edit-geometry-admission.d.ts.map +1 -1
  31. package/dist/visio/edit-geometry.d.ts +2 -1
  32. package/dist/visio/edit-geometry.d.ts.map +1 -1
  33. package/dist/visio/edit-master-index.d.ts +1 -1
  34. package/dist/visio/edit-master-index.d.ts.map +1 -1
  35. package/dist/visio/edit-master-move.d.ts +20 -0
  36. package/dist/visio/edit-master-move.d.ts.map +1 -0
  37. package/dist/visio/edit-master-scope.d.ts +2 -1
  38. package/dist/visio/edit-master-scope.d.ts.map +1 -1
  39. package/dist/visio/edit-recalculate-index.d.ts +2 -0
  40. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  41. package/dist/visio/edit-scope.d.ts +2 -1
  42. package/dist/visio/edit-scope.d.ts.map +1 -1
  43. package/dist/visio/edit.d.ts.map +1 -1
  44. package/dist/visio/index.cjs +250 -36
  45. package/dist/visio/index.mjs +250 -36
  46. package/dist/xlsx/formula/area-index.d.ts +3 -3
  47. package/dist/xlsx/formula/area-index.d.ts.map +1 -1
  48. package/dist/xlsx/formula/engine-core.d.ts +4 -1
  49. package/dist/xlsx/formula/engine-core.d.ts.map +1 -1
  50. package/dist/xlsx/formula/engine-host.d.ts +2 -0
  51. package/dist/xlsx/formula/engine-host.d.ts.map +1 -1
  52. package/dist/xlsx/formula/engine-order.d.ts +11 -0
  53. package/dist/xlsx/formula/engine-order.d.ts.map +1 -0
  54. package/dist/xlsx/formula/spill.d.ts.map +1 -1
  55. package/dist/xlsx/formula/store.d.ts.map +1 -1
  56. package/dist/xlsx/index.cjs +102 -64
  57. package/dist/xlsx/index.mjs +102 -64
  58. package/package.json +21 -3
  59. package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts.map +0 -1
  60. package/dist/pptx/index.d.ts.map +0 -1
@@ -0,0 +1,1474 @@
1
+ import { $i as PptxChartMarkerSymbol, $t as PptxCustomProperty, C as PptxSlide, Co as PptxThemeColorRef, Ct as PptxElement, Et as PptxElementWithText, Hi as PptxChartErrBars, Jt as PptxAppProperties, Qt as PptxCoreProperties, at as PptxThemeFontScheme, d as PptxData, dr as ParsedTableStyleBorders, io as TextSegment, pr as ParsedTableStyleFill, to as ShapeStyle, tt as PptxThemeColorScheme, ut as ChartPptxElement, va as PptxChartUserShape, x as PptxPresentationProperties, xr as PptxTableCell3D, yr as ParsedTableStyleText } from "../chunks/text-operations-2tKzrY5o.js";
2
+ import { Nf as OlePayloadEditorKind, Yi as TableStylePartName, gf as OleNestedDeckSlideDetail, kf as OleSheetGrid, xt as ChartAxisEdit } from "../chunks/index-LoCVDu8Z.js";
3
+ import { C as PptxJsonAssetStats, yt as PresentationDiff } from "../chunks/index-BWRd8p4y.js";
4
+ import { Doc, Text } from "yjs";
5
+ declare namespace types_d_exports {
6
+ export { CollaborationProvider, ExecutionContext, FileSystemProvider, PptxData, PptxElement, PptxSlide, TableStyleSaveOptions, ToolContext, ToolResult, ViewerProvider };
7
+ }
8
+ /**
9
+ * Platform-agnostic context passed to every tool function.
10
+ * No Electron, no RoomManager, no framework dependencies.
11
+ */
12
+ export interface ToolContext {
13
+ /** Current presentation data (parsed PptxData from pptx-viewer-core). */
14
+ pptxData: PptxData;
15
+ /** Optional: resolve external image paths to binary data. */
16
+ resolveImage?: (path: string) => Promise<Uint8Array>;
17
+ /** Optional: resolve external media paths to binary data. */
18
+ resolveMedia?: (path: string) => Promise<Uint8Array>;
19
+ }
20
+ /**
21
+ * Save-time instructions that don't live on `pptxData` itself and so cannot
22
+ * be expressed as a model mutation: today, only `ppt/tableStyles.xml`'s
23
+ * archive-level "repoint the default style" / "delete a style" operations
24
+ * (`set_default_table_style`, `delete_table_style`). Mirrors the same-named
25
+ * fields on `pptx-viewer-core`'s save options structurally (not imported, so
26
+ * a tool result stays independent of the core package's internal type
27
+ * export surface).
28
+ */
29
+ export interface TableStyleSaveOptions {
30
+ /** GUID to set as `ppt/tableStyles.xml`'s `<a:tblStyleLst @def>`. */
31
+ tableStylesDefaultId?: string;
32
+ /** GUIDs to remove from `ppt/tableStyles.xml` entirely. */
33
+ tableStylesToDelete?: string[];
34
+ }
35
+ /**
36
+ * Every tool function returns this.
37
+ * The consumer decides what to do with the mutated pptxData.
38
+ */
39
+ export interface ToolResult<T = unknown> {
40
+ /** The (potentially mutated) presentation data. */
41
+ pptxData: PptxData;
42
+ /** Tool-specific return value (e.g., slide info, element ID, search results). */
43
+ result: T;
44
+ /** Whether pptxData was modified (signals need to save). */
45
+ dirty: boolean;
46
+ /**
47
+ * Extra `handler.save()` instructions this result requires beyond the
48
+ * ordinary `pptxData` mutation, merged in by `savePresentation` /
49
+ * `executeToolWithContext`. See {@link TableStyleSaveOptions}.
50
+ */
51
+ saveOptions?: TableStyleSaveOptions;
52
+ }
53
+ /**
54
+ * Abstraction for Y.Doc room management.
55
+ * fz-electron implements this with RoomManager.
56
+ */
57
+ export interface CollaborationProvider {
58
+ /** Get an active collaboration room for a file path, or null. */
59
+ getRoom(filePath: string): {
60
+ ydoc: Doc;
61
+ } | null;
62
+ /** Get the format codec for a file path, or null. */
63
+ getCodec(filePath: string): {
64
+ hydrate(ydoc: Doc, bytes: Uint8Array, origin?: string): Promise<void>;
65
+ dehydrate(ydoc: Doc): Promise<Uint8Array>;
66
+ } | null;
67
+ /** Create an agent origin tag for undo isolation. */
68
+ agentOrigin(name: string): string;
69
+ }
70
+ /**
71
+ * Abstraction for file system access.
72
+ * fz-electron implements this with window.electron.files.
73
+ * MCP server implements this with node:fs.
74
+ */
75
+ export interface FileSystemProvider {
76
+ readFile(path: string): Promise<Uint8Array>;
77
+ writeFile(path: string, data: Uint8Array): Promise<void>;
78
+ }
79
+ /**
80
+ * Abstraction for updating an open file viewer.
81
+ * Only fz-electron implements this.
82
+ */
83
+ export interface ViewerProvider {
84
+ replaceContent(filePath: string, bytes: Uint8Array, options: {
85
+ markDirty: boolean;
86
+ mimeType?: string;
87
+ }): void;
88
+ openFile(filePath: string): Promise<void>;
89
+ }
90
+ /**
91
+ * Full execution context for running tools with collaboration support.
92
+ */
93
+ export interface ExecutionContext {
94
+ /** File system for reading/writing PPTX files. */
95
+ filesystem: FileSystemProvider;
96
+ /** Optional collaboration provider for Y.Doc routing. */
97
+ collaboration?: CollaborationProvider;
98
+ /** Optional viewer integration for live document updates. */
99
+ viewer?: ViewerProvider;
100
+ /** Agent name for collaboration origin tracking. */
101
+ agentName?: string;
102
+ }
103
+ declare namespace slide_tools_d_exports {
104
+ export { AddSlideParams, AddSlideResult, DeleteSlidesParams, DeleteSlidesResult, DuplicateSlideParams, GetSlideResult, ReorderSlidesParams, SetCanvasSizeParams, SetSlideTransitionParams, UpdateSlidePropertiesParams, addSlide, deleteSlides, duplicateSlide, getSlide, reorderSlides, setCanvasSize, setSlideTransition, updateSlideProperties };
105
+ }
106
+ interface GetSlideResult {
107
+ slideIndex: number;
108
+ slideNumber: number;
109
+ hidden: boolean;
110
+ layoutName?: string;
111
+ backgroundColor?: string;
112
+ notes: string;
113
+ commentCount: number;
114
+ elements: Record<string, unknown>[];
115
+ }
116
+ export declare function getSlide(ctx: ToolContext, params: {
117
+ slideIndex: number;
118
+ }): ToolResult<GetSlideResult>;
119
+ interface AddSlideParams {
120
+ insertAfterIndex?: number;
121
+ backgroundColor?: string;
122
+ }
123
+ interface AddSlideResult {
124
+ newSlideIndex: number;
125
+ slideCount: number;
126
+ }
127
+ export declare function addSlide(ctx: ToolContext, params: AddSlideParams): ToolResult<AddSlideResult>;
128
+ interface DeleteSlidesParams {
129
+ slideIndexes: number[];
130
+ }
131
+ interface DeleteSlidesResult {
132
+ deletedCount: number;
133
+ slideCount: number;
134
+ }
135
+ export declare function deleteSlides(ctx: ToolContext, params: DeleteSlidesParams): ToolResult<DeleteSlidesResult>;
136
+ interface ReorderSlidesParams {
137
+ newOrder: number[];
138
+ }
139
+ export declare function reorderSlides(ctx: ToolContext, params: ReorderSlidesParams): ToolResult<{
140
+ slideCount: number;
141
+ }>;
142
+ interface DuplicateSlideParams {
143
+ slideIndex: number;
144
+ targetIndex?: number;
145
+ }
146
+ export declare function duplicateSlide(ctx: ToolContext, params: DuplicateSlideParams): ToolResult<{
147
+ newSlideIndex: number;
148
+ slideCount: number;
149
+ }>;
150
+ interface UpdateSlidePropertiesParams {
151
+ slideIndex: number;
152
+ backgroundColor?: string;
153
+ backgroundGradient?: string;
154
+ backgroundImage?: string;
155
+ notes?: string;
156
+ hidden?: boolean;
157
+ }
158
+ export declare function updateSlideProperties(ctx: ToolContext, params: UpdateSlidePropertiesParams): ToolResult<{
159
+ slideIndex: number;
160
+ }>;
161
+ interface SetSlideTransitionParams {
162
+ slideIndex: number;
163
+ type: string;
164
+ durationMs?: number;
165
+ direction?: string;
166
+ advanceOnClick?: boolean;
167
+ advanceAfterMs?: number;
168
+ }
169
+ export declare function setSlideTransition(ctx: ToolContext, params: SetSlideTransitionParams): ToolResult<{
170
+ slideIndex: number;
171
+ transitionType: string;
172
+ }>;
173
+ interface SetCanvasSizeParams {
174
+ width: number;
175
+ height: number;
176
+ }
177
+ export declare function setCanvasSize(ctx: ToolContext, params: SetCanvasSizeParams): ToolResult<{
178
+ canvasWidth: number;
179
+ canvasHeight: number;
180
+ }>;
181
+ declare namespace helpers_d_exports {
182
+ export { describeElement, extractSlideText, generateElementId, generateSlideId, validateSlideIndex };
183
+ }
184
+ export declare function generateElementId(): string;
185
+ export declare function generateSlideId(): string;
186
+ /** Build a concise text representation of a slide element for tool output. */
187
+ export declare function describeElement(el: PptxElement): Record<string, unknown>;
188
+ /** Extract text from a slide's elements for search purposes. */
189
+ export declare function extractSlideText(slide: PptxSlide): string;
190
+ /** Validate slideIndex is within range, return error string or null. */
191
+ export declare function validateSlideIndex(slideIndex: number, slideCount: number): string | null;
192
+ declare namespace element_tools_d_exports {
193
+ export { AddElementParams, AddElementResult, ArrangeElementsParams, BatchUpdateElementsParams, CloneElementParams, CloneElementResult, DeleteElementsParams, GroupElementsParams, GroupElementsResult, RenameElementParams, SetElementAnimationParams, UngroupElementsParams, UngroupElementsResult, UpdateElementParams, addElement, arrangeElements, batchUpdateElements, cloneElement, deleteElements, groupElements, renameElement, setElementAnimation, ungroupElements, updateElement };
194
+ }
195
+ interface AddElementParams {
196
+ slideIndex: number;
197
+ type: 'text' | 'shape' | 'image' | 'table' | 'connector';
198
+ x?: number;
199
+ y?: number;
200
+ width?: number;
201
+ height?: number;
202
+ text?: string;
203
+ fontSize?: number;
204
+ fontFamily?: string;
205
+ fontColor?: string;
206
+ bold?: boolean;
207
+ italic?: boolean;
208
+ underline?: boolean;
209
+ alignment?: 'left' | 'center' | 'right' | 'justify';
210
+ shapeType?: string;
211
+ fillColor?: string;
212
+ strokeColor?: string;
213
+ strokeWidth?: number;
214
+ imageData?: string;
215
+ altText?: string;
216
+ rows?: number;
217
+ columns?: number;
218
+ cellData?: string[][];
219
+ headerRow?: boolean;
220
+ startArrow?: string;
221
+ endArrow?: string;
222
+ startShapeId?: string;
223
+ endShapeId?: string;
224
+ }
225
+ interface AddElementResult {
226
+ elementId: string;
227
+ slideIndex: number;
228
+ }
229
+ export declare function addElement(ctx: ToolContext, params: AddElementParams): ToolResult<AddElementResult>;
230
+ interface UpdateElementParams {
231
+ slideIndex: number;
232
+ elementId: string;
233
+ x?: number;
234
+ y?: number;
235
+ width?: number;
236
+ height?: number;
237
+ rotation?: number;
238
+ text?: string;
239
+ textSegments?: TextSegment[];
240
+ fontSize?: number;
241
+ fontFamily?: string;
242
+ fontColor?: string;
243
+ /**
244
+ * A theme colour for the run text (`{ scheme: 'accent1', lumMod: 0.8 }`).
245
+ * Wins on save (`<a:schemeClr>` instead of a canonical `<a:srgbClr>`), and
246
+ * resolves `fontColor` immediately when `fontColor` was not also given.
247
+ * Passing `fontColor` alone clears a previously-set text theme colour.
248
+ */
249
+ fontThemeColor?: PptxThemeColorRef;
250
+ bold?: boolean;
251
+ italic?: boolean;
252
+ underline?: boolean;
253
+ alignment?: 'left' | 'center' | 'right' | 'justify';
254
+ fillColor?: string;
255
+ strokeColor?: string;
256
+ strokeWidth?: number;
257
+ opacity?: number;
258
+ hidden?: boolean;
259
+ flipH?: boolean;
260
+ flipV?: boolean;
261
+ /** Accessibility description; see {@link applyElementAltText} for the accepted kinds. */
262
+ altText?: string;
263
+ /** Accessibility title; see {@link applyElementTitle} for the accepted kinds. */
264
+ title?: string;
265
+ }
266
+ export declare function updateElement(ctx: ToolContext, params: UpdateElementParams): ToolResult<{
267
+ elementId: string;
268
+ }>;
269
+ interface RenameElementParams {
270
+ slideIndex: number;
271
+ elementId: string;
272
+ /** New element name (`cNvPr/@name`); an empty string clears the name. */
273
+ name: string;
274
+ }
275
+ export declare function renameElement(ctx: ToolContext, params: RenameElementParams): ToolResult<{
276
+ elementId: string;
277
+ name: string;
278
+ }>;
279
+ interface DeleteElementsParams {
280
+ slideIndex: number;
281
+ elementIds: string[];
282
+ }
283
+ export declare function deleteElements(ctx: ToolContext, params: DeleteElementsParams): ToolResult<{
284
+ deletedCount: number;
285
+ }>;
286
+ interface ArrangeElementsParams {
287
+ slideIndex: number;
288
+ action: 'align' | 'reorderLayer';
289
+ elementIds?: string[];
290
+ alignment?: 'left' | 'right' | 'top' | 'bottom' | 'centerH' | 'centerV';
291
+ elementId?: string;
292
+ layerAction?: 'bringToFront' | 'sendToBack' | 'bringForward' | 'sendBackward';
293
+ }
294
+ export declare function arrangeElements(ctx: ToolContext, params: ArrangeElementsParams): ToolResult<{
295
+ slideIndex: number;
296
+ }>;
297
+ interface CloneElementParams {
298
+ slideIndex: number;
299
+ elementId: string;
300
+ targetSlideIndexes?: number[];
301
+ offsetX?: number;
302
+ offsetY?: number;
303
+ }
304
+ interface CloneElementResult {
305
+ clonedIds: string[];
306
+ }
307
+ export declare function cloneElement(ctx: ToolContext, params: CloneElementParams): ToolResult<CloneElementResult>;
308
+ interface SetElementAnimationParams {
309
+ slideIndex: number;
310
+ elementId: string;
311
+ entrance?: string;
312
+ exit?: string;
313
+ durationMs?: number;
314
+ delayMs?: number;
315
+ order?: number;
316
+ }
317
+ export declare function setElementAnimation(ctx: ToolContext, params: SetElementAnimationParams): ToolResult<{
318
+ elementId: string;
319
+ }>;
320
+ interface GroupElementsParams {
321
+ slideIndex: number;
322
+ elementIds: string[];
323
+ }
324
+ interface GroupElementsResult {
325
+ groupId: string;
326
+ }
327
+ export declare function groupElements(ctx: ToolContext, params: GroupElementsParams): ToolResult<GroupElementsResult>;
328
+ interface UngroupElementsParams {
329
+ slideIndex: number;
330
+ groupElementId: string;
331
+ }
332
+ interface UngroupElementsResult {
333
+ restoredIds: string[];
334
+ }
335
+ export declare function ungroupElements(ctx: ToolContext, params: UngroupElementsParams): ToolResult<UngroupElementsResult>;
336
+ interface BatchUpdateElementsParams {
337
+ slideIndex: number;
338
+ elementIds: string[];
339
+ x?: number;
340
+ y?: number;
341
+ width?: number;
342
+ height?: number;
343
+ rotation?: number;
344
+ opacity?: number;
345
+ hidden?: boolean;
346
+ }
347
+ export declare function batchUpdateElements(ctx: ToolContext, params: BatchUpdateElementsParams): ToolResult<{
348
+ updatedCount: number;
349
+ }>;
350
+ declare namespace table_tools_d_exports {
351
+ export { ManageTableStructureParams, UpdateTableCellsParams, manageTableStructure, updateTableCells };
352
+ }
353
+ interface UpdateTableCellsParams {
354
+ slideIndex: number;
355
+ elementId: string;
356
+ cells: Array<{
357
+ row: number;
358
+ col: number;
359
+ text: string;
360
+ }>;
361
+ }
362
+ export declare function updateTableCells(ctx: ToolContext, params: UpdateTableCellsParams): ToolResult<{
363
+ updatedCount: number;
364
+ }>;
365
+ interface ManageTableStructureParams {
366
+ slideIndex: number;
367
+ elementId: string;
368
+ action: 'insertRow' | 'deleteRow' | 'insertColumn' | 'deleteColumn';
369
+ position?: number;
370
+ referenceIndex?: number;
371
+ cellTexts?: string[];
372
+ }
373
+ export declare function manageTableStructure(ctx: ToolContext, params: ManageTableStructureParams): ToolResult<{
374
+ rowCount: number;
375
+ columnCount: number;
376
+ }>;
377
+ declare namespace table_style_tools_d_exports {
378
+ export { AssignTableStyleParams, CreateTableStyleParams, DeleteTableStyleParams, SetTableStyleSectionParams, assignTableStyle, createTableStyle, deleteTableStyle, setTableStyleSection };
379
+ }
380
+ interface SetTableStyleSectionParams {
381
+ styleId: string;
382
+ section: TableStylePartName;
383
+ styleName?: string;
384
+ fill?: ParsedTableStyleFill;
385
+ text?: ParsedTableStyleText;
386
+ borders?: ParsedTableStyleBorders;
387
+ cell3D?: PptxTableCell3D;
388
+ }
389
+ /**
390
+ * Patch one facet (fill/text/borders/cell3D) of one `CT_TableStyle` section
391
+ * on an EXISTING style in `pptxData.tableStyleMap`. Facets not supplied are
392
+ * left untouched (matches `applyTableStyleEntryToNode`'s merge semantics).
393
+ * Throws if `styleId` names no loaded style: use `create_table_style` first.
394
+ */
395
+ export declare function setTableStyleSection(ctx: ToolContext, params: SetTableStyleSectionParams): ToolResult<{
396
+ styleId: string;
397
+ section: TableStylePartName;
398
+ }>;
399
+ interface CreateTableStyleParams {
400
+ styleName: string;
401
+ /** Deep-clone every section from this existing style GUID as the starting point. */
402
+ basedOnStyleId?: string;
403
+ /** Repoint `ppt/tableStyles.xml`'s `@def` at the new style on save. */
404
+ setAsDefault?: boolean;
405
+ }
406
+ export declare function createTableStyle(ctx: ToolContext, params: CreateTableStyleParams): ToolResult<{
407
+ styleId: string;
408
+ }>;
409
+ interface DeleteTableStyleParams {
410
+ styleId: string;
411
+ /** Delete even though a table on some slide still references this style. */
412
+ force?: boolean;
413
+ }
414
+ export declare function deleteTableStyle(ctx: ToolContext, params: DeleteTableStyleParams): ToolResult<{
415
+ deleted: boolean;
416
+ }>;
417
+ interface AssignTableStyleParams {
418
+ slideIndex: number;
419
+ elementId: string;
420
+ /**
421
+ * Defaults to `pptxData.tableStylesDefaultId` (the deck's current
422
+ * `ppt/tableStyles.xml/a:tblStyleLst/@def`) when omitted, matching what
423
+ * PowerPoint's "Insert > Table" applies without an explicit style choice.
424
+ */
425
+ styleId?: string;
426
+ bandedRows?: boolean;
427
+ bandedColumns?: boolean;
428
+ firstRowHeader?: boolean;
429
+ lastRow?: boolean;
430
+ firstCol?: boolean;
431
+ lastCol?: boolean;
432
+ }
433
+ /**
434
+ * Assign a table style (and, optionally, the row/column emphasis flags that
435
+ * decide which of its sections actually show) to an EXISTING table element.
436
+ * `tableData.tableStyleId` already round-trips through the save pipeline for
437
+ * both new and previously-loaded tables (`save-table-merge-helpers.ts`); this
438
+ * tool just exposes that assignment over MCP.
439
+ */
440
+ export declare function assignTableStyle(ctx: ToolContext, params: AssignTableStyleParams): ToolResult<{
441
+ elementId: string;
442
+ styleId: string;
443
+ }>;
444
+ declare namespace style_tools_d_exports {
445
+ export { ALT_TEXT_ELEMENT_TYPES, AccessibilityCheckResult, AccessibilityIssue, TITLE_ELEMENT_TYPES, UpdateElementStyleParams, applyElementAltText, applyElementTitle, runAccessibilityCheck, updateElementStyle };
446
+ }
447
+ interface UpdateElementStyleParams {
448
+ slideIndex: number;
449
+ elementId: string;
450
+ fillColor?: string;
451
+ /**
452
+ * A theme colour for the fill (`{ scheme: 'accent1', lumMod: 0.8 }`).
453
+ * Wins on save: the shape is written as `<a:schemeClr>` instead of a
454
+ * canonical `<a:srgbClr>`, so it keeps following the theme after a later
455
+ * theme change. Also resolves `fillColor` immediately (against the
456
+ * deck's `themeColorMap`) when `fillColor` was not explicitly given.
457
+ * Passing `fillColor` alone (no `fillThemeColor`) clears any previously
458
+ * set fill theme colour, matching a user typing a custom hex.
459
+ */
460
+ fillThemeColor?: PptxThemeColorRef;
461
+ fillMode?: ShapeStyle['fillMode'];
462
+ fillGradientStops?: Array<{
463
+ color: string;
464
+ position: number;
465
+ opacity?: number;
466
+ }>;
467
+ fillGradientAngle?: number;
468
+ fillGradientType?: 'linear' | 'radial';
469
+ fillOpacity?: number;
470
+ strokeColor?: string;
471
+ /** A theme colour for the outline; see {@link fillThemeColor}. */
472
+ strokeThemeColor?: PptxThemeColorRef;
473
+ strokeWidth?: number;
474
+ strokeDash?: ShapeStyle['strokeDash'];
475
+ strokeOpacity?: number;
476
+ shadowColor?: string;
477
+ shadowBlur?: number;
478
+ shadowOffsetX?: number;
479
+ shadowOffsetY?: number;
480
+ shadowOpacity?: number;
481
+ glowColor?: string;
482
+ glowRadius?: number;
483
+ glowOpacity?: number;
484
+ softEdgeRadius?: number;
485
+ cropLeft?: number;
486
+ cropTop?: number;
487
+ cropRight?: number;
488
+ cropBottom?: number;
489
+ brightness?: number;
490
+ contrast?: number;
491
+ grayscale?: boolean;
492
+ /**
493
+ * Accessibility description (`p:cNvPr/@descr`). Accepted for pictures,
494
+ * every graphic frame kind (table, chart, smartArt, ole, media), and a
495
+ * plain shape / text box / connector: the core writer serialises all
496
+ * eight kinds, so the tool must not stop at images.
497
+ */
498
+ altText?: string;
499
+ /**
500
+ * Accessibility title (`p:cNvPr/@title`). Accepted for every kind that
501
+ * models it: table, chart, smartArt, ole, media, text, shape and
502
+ * connector (a picture has no separate title field, only `altText`).
503
+ */
504
+ title?: string;
505
+ }
506
+ /** Element kinds whose core type models `altText` and whose writer persists it. */
507
+ declare const ALT_TEXT_ELEMENT_TYPES: ReadonlySet<PptxElement['type']>;
508
+ /** Element kinds whose core type models `title` and whose writer persists it. */
509
+ declare const TITLE_ELEMENT_TYPES: ReadonlySet<PptxElement['type']>;
510
+ /**
511
+ * Write `altText` onto `el`, or throw when the element kind has nowhere to
512
+ * persist it.
513
+ */
514
+ declare function applyElementAltText(el: PptxElement, altText: string): void;
515
+ /**
516
+ * Write `title` onto `el`, or throw when the element kind has nowhere to
517
+ * persist it (a picture's `p:cNvPr` only ever carries `@descr`, not `@title`).
518
+ */
519
+ declare function applyElementTitle(el: PptxElement, title: string): void;
520
+ export declare function updateElementStyle(ctx: ToolContext, params: UpdateElementStyleParams): ToolResult<{
521
+ elementId: string;
522
+ }>;
523
+ interface AccessibilityIssue {
524
+ slideIndex: number;
525
+ elementId?: string;
526
+ severity: 'error' | 'warning' | 'info';
527
+ message: string;
528
+ }
529
+ interface AccessibilityCheckResult {
530
+ slideCount: number;
531
+ totalIssues: number;
532
+ errorCount: number;
533
+ warningCount: number;
534
+ infoCount: number;
535
+ issues: AccessibilityIssue[];
536
+ }
537
+ export declare function runAccessibilityCheck(ctx: ToolContext): ToolResult<AccessibilityCheckResult>;
538
+ declare namespace content_tools_d_exports {
539
+ export { CommentInfo, FindTextParams, FindTextResult, ManageCommentsParams, ManageCommentsResult, ReplaceTextParams, ReplaceTextResult, TextMatch, findText, manageComments, replaceText };
540
+ }
541
+ interface FindTextParams {
542
+ query: string;
543
+ useRegex?: boolean;
544
+ caseSensitive?: boolean;
545
+ slideIndexes?: number[];
546
+ }
547
+ interface TextMatch {
548
+ slideIndex: number;
549
+ elementId: string;
550
+ elementType: string;
551
+ matchedText: string;
552
+ context: string;
553
+ }
554
+ interface FindTextResult {
555
+ query: string;
556
+ matchCount: number;
557
+ matches: TextMatch[];
558
+ }
559
+ export declare function findText(ctx: ToolContext, params: FindTextParams): ToolResult<FindTextResult>;
560
+ interface ReplaceTextParams {
561
+ query: string;
562
+ replacement: string;
563
+ useRegex?: boolean;
564
+ caseSensitive?: boolean;
565
+ slideIndexes?: number[];
566
+ }
567
+ interface ReplaceTextResult {
568
+ query: string;
569
+ replacement: string;
570
+ replacementCount: number;
571
+ }
572
+ export declare function replaceText(ctx: ToolContext, params: ReplaceTextParams): ToolResult<ReplaceTextResult>;
573
+ interface ManageCommentsParams {
574
+ action: 'list' | 'add' | 'delete' | 'resolve';
575
+ slideIndex?: number;
576
+ text?: string;
577
+ author?: string;
578
+ commentId?: string;
579
+ resolved?: boolean;
580
+ includeResolved?: boolean;
581
+ }
582
+ interface CommentInfo {
583
+ id: string;
584
+ slideIndex: number;
585
+ text: string;
586
+ author?: string;
587
+ createdAt?: string;
588
+ resolved?: boolean;
589
+ }
590
+ interface ManageCommentsResult {
591
+ action: string;
592
+ comments?: CommentInfo[];
593
+ commentId?: string;
594
+ count?: number;
595
+ }
596
+ export declare function manageComments(ctx: ToolContext, params: ManageCommentsParams): ToolResult<ManageCommentsResult>;
597
+ declare namespace conversion_tools_d_exports {
598
+ export { ConvertToMarkdownParams, ConvertToMarkdownResult, convertToMarkdown };
599
+ }
600
+ interface ConvertToMarkdownParams {
601
+ outputDir?: string;
602
+ mediaFolderName?: string;
603
+ includeMetadata?: boolean;
604
+ slideRange?: {
605
+ start?: number;
606
+ end?: number;
607
+ };
608
+ includeSpeakerNotes?: boolean;
609
+ semanticMode?: boolean;
610
+ sourceName?: string;
611
+ /**
612
+ * Root directory under which `outputDir` must resolve. Only meaningful when
613
+ * {@link ConvertToMarkdownParams.scopeOutputDir} is supplied. Defaults to
614
+ * `process.env.PPTX_TOOLS_ROOT` if set, else `process.cwd()`.
615
+ */
616
+ rootDir?: string;
617
+ /**
618
+ * Optional host-supplied guard that resolves `outputDir` under `rootDir` and
619
+ * rejects traversal escapes.
620
+ *
621
+ * Confining an output directory is a filesystem concern that only exists on
622
+ * the server, and it needs `node:path` to do correctly. This module is also
623
+ * reached from the browser (the in-viewer AI assistant calls this tool for
624
+ * the markdown string, with no filesystem, so `outputDir` is just a prefix
625
+ * for image links), and a `node:path` import here (even a lazy one behind a
626
+ * runtime check) puts a Node builtin into every bundler's module graph and
627
+ * makes browser builds warn. So the MCP server injects
628
+ * {@link resolveScopedDir} instead and browsers simply omit it.
629
+ */
630
+ scopeOutputDir?: (outputDir: string, rootDir?: string) => string;
631
+ }
632
+ interface ConvertToMarkdownResult {
633
+ markdown: string;
634
+ slidesConverted: number;
635
+ totalSlides: number;
636
+ imagesExtracted: number;
637
+ }
638
+ export declare function convertToMarkdown(ctx: ToolContext, params: ConvertToMarkdownParams): Promise<ToolResult<ConvertToMarkdownResult>>;
639
+ declare namespace theme_tools_d_exports {
640
+ export { ApplyThemePresetParams, ApplyThemePresetResult, ThemeInfo, UpdateThemeColorsParams, UpdateThemeFontsParams, applyThemePreset, getThemeInfo, updateThemeColors, updateThemeFonts };
641
+ }
642
+ interface ThemeInfo {
643
+ themeName?: string;
644
+ colorScheme?: PptxThemeColorScheme;
645
+ fontScheme?: PptxThemeFontScheme;
646
+ availablePresets: string[];
647
+ }
648
+ export declare function getThemeInfo(ctx: ToolContext): ToolResult<ThemeInfo>;
649
+ interface ApplyThemePresetParams {
650
+ presetName: string;
651
+ }
652
+ interface ApplyThemePresetResult {
653
+ appliedPreset: string;
654
+ colorScheme: PptxThemeColorScheme;
655
+ }
656
+ export declare function applyThemePreset(ctx: ToolContext, params: ApplyThemePresetParams): ToolResult<ApplyThemePresetResult>;
657
+ interface UpdateThemeColorsParams {
658
+ dk1?: string;
659
+ lt1?: string;
660
+ dk2?: string;
661
+ lt2?: string;
662
+ accent1?: string;
663
+ accent2?: string;
664
+ accent3?: string;
665
+ accent4?: string;
666
+ accent5?: string;
667
+ accent6?: string;
668
+ hlink?: string;
669
+ folHlink?: string;
670
+ }
671
+ export declare function updateThemeColors(ctx: ToolContext, params: UpdateThemeColorsParams): ToolResult<{
672
+ colorScheme: PptxThemeColorScheme;
673
+ }>;
674
+ interface UpdateThemeFontsParams {
675
+ majorFont?: string;
676
+ minorFont?: string;
677
+ }
678
+ export declare function updateThemeFonts(ctx: ToolContext, params: UpdateThemeFontsParams): ToolResult<{
679
+ fontScheme: PptxThemeFontScheme;
680
+ }>;
681
+ declare namespace chart_tools_d_exports {
682
+ export { AddChartSeriesParams, CreateChartParams, CreateChartResult, RemoveChartSeriesParams, UpdateChartParams, UpdateChartSeriesDataParams, addChartSeriesT, createChart, removeChartSeriesT, updateChart, updateChartSeriesData };
683
+ }
684
+ interface UpdateChartParams {
685
+ slideIndex: number;
686
+ elementId: string;
687
+ chartType?: string;
688
+ title?: string;
689
+ grouping?: 'clustered' | 'stacked' | 'percentStacked';
690
+ legend?: {
691
+ show?: boolean;
692
+ position?: string;
693
+ };
694
+ dataLabels?: {
695
+ show?: boolean;
696
+ showValue?: boolean;
697
+ showCategory?: boolean;
698
+ showSeriesName?: boolean;
699
+ showPercent?: boolean;
700
+ };
701
+ axis?: {
702
+ type: string;
703
+ edit: ChartAxisEdit;
704
+ };
705
+ categories?: string[];
706
+ }
707
+ export declare function updateChart(ctx: ToolContext, params: UpdateChartParams): ToolResult<{
708
+ elementId: string;
709
+ }>;
710
+ interface AddChartSeriesParams {
711
+ slideIndex: number;
712
+ elementId: string;
713
+ name: string;
714
+ values: number[];
715
+ color?: string;
716
+ }
717
+ export declare function addChartSeriesT(ctx: ToolContext, params: AddChartSeriesParams): ToolResult<{
718
+ elementId: string;
719
+ seriesCount: number;
720
+ }>;
721
+ interface RemoveChartSeriesParams {
722
+ slideIndex: number;
723
+ elementId: string;
724
+ seriesIndex: number;
725
+ }
726
+ export declare function removeChartSeriesT(ctx: ToolContext, params: RemoveChartSeriesParams): ToolResult<{
727
+ elementId: string;
728
+ seriesCount: number;
729
+ }>;
730
+ interface UpdateChartSeriesDataParams {
731
+ slideIndex: number;
732
+ elementId: string;
733
+ seriesIndex: number;
734
+ values: number[];
735
+ }
736
+ export declare function updateChartSeriesData(ctx: ToolContext, params: UpdateChartSeriesDataParams): ToolResult<{
737
+ elementId: string;
738
+ }>;
739
+ interface CreateChartParams {
740
+ slideIndex: number;
741
+ chartType: string;
742
+ x?: number;
743
+ y?: number;
744
+ width?: number;
745
+ height?: number;
746
+ title?: string;
747
+ categories?: string[];
748
+ series?: Array<{
749
+ name: string;
750
+ values: number[];
751
+ color?: string;
752
+ }>;
753
+ legend?: {
754
+ show: boolean;
755
+ position?: string;
756
+ };
757
+ }
758
+ interface CreateChartResult {
759
+ elementId: string;
760
+ slideIndex: number;
761
+ }
762
+ export declare function createChart(ctx: ToolContext, params: CreateChartParams): ToolResult<CreateChartResult>;
763
+ declare namespace chart_formatting_tools_d_exports {
764
+ export { FormatChartDataLabelParams, FormatChartDataPointParams, FormatChartSeriesParams, SetChartColorMapOverrideParams, SetChartHelperLineParams, formatChartDataLabel, formatChartDataPoint, formatChartSeries, setChartColorMapOverrideT, setChartHelperLineT };
765
+ }
766
+ interface FormatChartDataPointParams {
767
+ slideIndex: number;
768
+ elementId: string;
769
+ seriesIndex: number;
770
+ pointIndex: number;
771
+ /** Fill colour; `null` clears just the style entirely (see `clearStyle`). */
772
+ fillColor?: string;
773
+ strokeColor?: string;
774
+ strokeWidth?: number;
775
+ strokeDashStyle?: string;
776
+ /** Remove all `c:dPt/c:spPr` formatting for this point. */
777
+ clearStyle?: boolean;
778
+ /** Pie/doughnut slice pull-out distance (0-100). `null` clears it. */
779
+ explosion?: number | null;
780
+ marker?: {
781
+ symbol?: PptxChartMarkerSymbol;
782
+ size?: number;
783
+ fillColor?: string;
784
+ } | null;
785
+ }
786
+ export declare function formatChartDataPoint(ctx: ToolContext, params: FormatChartDataPointParams): ToolResult<{
787
+ elementId: string;
788
+ }>;
789
+ interface FormatChartDataLabelParams {
790
+ slideIndex: number;
791
+ elementId: string;
792
+ seriesIndex: number;
793
+ pointIndex: number;
794
+ /** Pass with no other field, and `remove: true`, to drop the override entirely. */
795
+ remove?: boolean;
796
+ showValue?: boolean;
797
+ showCategory?: boolean;
798
+ showSeriesName?: boolean;
799
+ showPercent?: boolean;
800
+ showLegendKey?: boolean;
801
+ position?: 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
802
+ /** Custom label text. Pass `''` to clear it. */
803
+ text?: string;
804
+ /** This label's own fill/line formatting; `null` removes it. */
805
+ spPr?: {
806
+ fillColor?: string;
807
+ strokeColor?: string;
808
+ strokeWidth?: number;
809
+ strokeDashStyle?: string;
810
+ } | null;
811
+ /** This label's own font; `null` removes it. */
812
+ txPr?: {
813
+ fontFamily?: string;
814
+ fontSize?: number;
815
+ bold?: boolean;
816
+ italic?: boolean;
817
+ color?: string;
818
+ } | null;
819
+ }
820
+ export declare function formatChartDataLabel(ctx: ToolContext, params: FormatChartDataLabelParams): ToolResult<{
821
+ elementId: string;
822
+ }>;
823
+ interface FormatChartSeriesParams {
824
+ slideIndex: number;
825
+ elementId: string;
826
+ seriesIndex: number;
827
+ marker?: {
828
+ symbol?: PptxChartMarkerSymbol;
829
+ size?: number;
830
+ fillColor?: string;
831
+ strokeColor?: string;
832
+ strokeWidth?: number;
833
+ strokeDashStyle?: string;
834
+ } | null;
835
+ trendline?: {
836
+ trendlineType: 'linear' | 'exponential' | 'logarithmic' | 'polynomial' | 'power' | 'movingAvg';
837
+ color?: string;
838
+ lineWidth?: number;
839
+ lineDashStyle?: string;
840
+ order?: number;
841
+ period?: number;
842
+ displayEq?: boolean;
843
+ displayRSq?: boolean;
844
+ } | null;
845
+ errorBars?: (PptxChartErrBars & {
846
+ width?: number;
847
+ dashStyle?: string;
848
+ }) | null;
849
+ }
850
+ export declare function formatChartSeries(ctx: ToolContext, params: FormatChartSeriesParams): ToolResult<{
851
+ elementId: string;
852
+ }>;
853
+ interface SetChartHelperLineParams {
854
+ slideIndex: number;
855
+ elementId: string;
856
+ line: 'dropLines' | 'hiLowLines';
857
+ /** `null` removes the line entirely. */
858
+ style: {
859
+ color?: string;
860
+ width?: number;
861
+ dashStyle?: string;
862
+ } | null;
863
+ }
864
+ export declare function setChartHelperLineT(ctx: ToolContext, params: SetChartHelperLineParams): ToolResult<{
865
+ elementId: string;
866
+ }>;
867
+ interface SetChartColorMapOverrideParams {
868
+ slideIndex: number;
869
+ elementId: string;
870
+ /** `null` removes the override entirely. */
871
+ overrides: Record<string, string> | null;
872
+ }
873
+ export declare function setChartColorMapOverrideT(ctx: ToolContext, params: SetChartColorMapOverrideParams): ToolResult<{
874
+ elementId: string;
875
+ }>;
876
+ declare namespace chart_user_shape_tools_d_exports {
877
+ export { AddChartUserShapeParams, ChartUserShapeInput, ListChartUserShapesParams, RemoveChartUserShapeParams, UpdateChartUserShapeParams, addChartUserShapeT, listChartUserShapesT, removeChartUserShapeT, updateChartUserShapeT };
878
+ }
879
+ /** The overlay-shape fields an AI tool call can set, flattened from `PptxChartUserShape`. */
880
+ interface ChartUserShapeInput {
881
+ kind?: 'sp' | 'cxnSp';
882
+ anchor?: 'rel' | 'abs';
883
+ from: {
884
+ x: number;
885
+ y: number;
886
+ };
887
+ to?: {
888
+ x: number;
889
+ y: number;
890
+ };
891
+ ext?: {
892
+ cx: number;
893
+ cy: number;
894
+ };
895
+ prst?: string;
896
+ fill?: string;
897
+ stroke?: string;
898
+ strokeWidth?: number;
899
+ /** Plain text content; mapped onto a single centred paragraph. */
900
+ text?: string;
901
+ }
902
+ interface ListChartUserShapesParams {
903
+ slideIndex: number;
904
+ elementId: string;
905
+ }
906
+ export declare function listChartUserShapesT(ctx: ToolContext, params: ListChartUserShapesParams): ToolResult<{
907
+ shapes: PptxChartUserShape[];
908
+ }>;
909
+ interface AddChartUserShapeParams {
910
+ slideIndex: number;
911
+ elementId: string;
912
+ shape: ChartUserShapeInput;
913
+ }
914
+ export declare function addChartUserShapeT(ctx: ToolContext, params: AddChartUserShapeParams): ToolResult<{
915
+ elementId: string;
916
+ index: number;
917
+ }>;
918
+ interface UpdateChartUserShapeParams {
919
+ slideIndex: number;
920
+ elementId: string;
921
+ index: number;
922
+ patch: Partial<ChartUserShapeInput>;
923
+ }
924
+ export declare function updateChartUserShapeT(ctx: ToolContext, params: UpdateChartUserShapeParams): ToolResult<{
925
+ elementId: string;
926
+ }>;
927
+ interface RemoveChartUserShapeParams {
928
+ slideIndex: number;
929
+ elementId: string;
930
+ index: number;
931
+ }
932
+ export declare function removeChartUserShapeT(ctx: ToolContext, params: RemoveChartUserShapeParams): ToolResult<{
933
+ elementId: string;
934
+ }>;
935
+ declare namespace smartart_tools_d_exports {
936
+ export { ManageSmartArtParams, ManageSmartArtResult, SmartArtNodeInfo, manageSmartArt };
937
+ }
938
+ interface ManageSmartArtParams {
939
+ slideIndex: number;
940
+ elementId: string;
941
+ action: 'addNode' | 'removeNode' | 'updateNodeText' | 'reorderNode' | 'promoteNode' | 'demoteNode' | 'decompose' | 'getNodes';
942
+ nodeId?: string;
943
+ text?: string;
944
+ afterNodeId?: string;
945
+ direction?: number;
946
+ }
947
+ interface SmartArtNodeInfo {
948
+ id: string;
949
+ text: string;
950
+ children?: SmartArtNodeInfo[];
951
+ }
952
+ interface ManageSmartArtResult {
953
+ action: string;
954
+ elementId: string;
955
+ nodes?: SmartArtNodeInfo[];
956
+ decomposedCount?: number;
957
+ }
958
+ export declare function manageSmartArt(ctx: ToolContext, params: ManageSmartArtParams): ToolResult<ManageSmartArtResult>;
959
+ declare namespace merge_tools_d_exports {
960
+ export { DiffPresentationsParams, MergePresentationParams, MergePresentationResult, diffPresentationsT, mergePresentationT };
961
+ }
962
+ interface MergePresentationParams {
963
+ /** The source presentation data to merge FROM. */
964
+ sourceData: PptxData;
965
+ /** Specific slide indices from source to merge. If omitted, all slides. */
966
+ slideIndices?: number[];
967
+ /** Where to insert in the target (0-based). Defaults to end. */
968
+ insertAt?: number;
969
+ /** Whether to keep the source theme. */
970
+ keepSourceTheme?: boolean;
971
+ }
972
+ interface MergePresentationResult {
973
+ slidesAdded: number;
974
+ totalSlides: number;
975
+ }
976
+ export declare function mergePresentationT(ctx: ToolContext, params: MergePresentationParams): ToolResult<MergePresentationResult>;
977
+ interface DiffPresentationsParams {
978
+ /** The other presentation data to diff against. */
979
+ otherData: PptxData;
980
+ }
981
+ export declare function diffPresentationsT(ctx: ToolContext, params: DiffPresentationsParams): ToolResult<PresentationDiff>;
982
+ declare namespace template_tools_d_exports {
983
+ export { ApplyTemplateParams, ApplyTemplateResult, FindPlaceholdersResult, applyTemplateT, findPlaceholdersT };
984
+ }
985
+ interface FindPlaceholdersResult {
986
+ placeholders: string[];
987
+ count: number;
988
+ }
989
+ export declare function findPlaceholdersT(ctx: ToolContext): ToolResult<FindPlaceholdersResult>;
990
+ interface ApplyTemplateParams {
991
+ data: Record<string, unknown>;
992
+ }
993
+ interface ApplyTemplateResult {
994
+ applied: boolean;
995
+ slideCount: number;
996
+ }
997
+ export declare function applyTemplateT(ctx: ToolContext, params: ApplyTemplateParams): ToolResult<ApplyTemplateResult>;
998
+ declare namespace metadata_tools_d_exports {
999
+ export { MetadataResult, UpdateMetadataParams, getMetadata, updateMetadata };
1000
+ }
1001
+ interface MetadataResult {
1002
+ coreProperties?: PptxCoreProperties;
1003
+ appProperties?: PptxAppProperties;
1004
+ customProperties?: PptxCustomProperty[];
1005
+ slideCount: number;
1006
+ }
1007
+ export declare function getMetadata(ctx: ToolContext): ToolResult<MetadataResult>;
1008
+ interface UpdateMetadataParams {
1009
+ title?: string;
1010
+ subject?: string;
1011
+ creator?: string;
1012
+ keywords?: string;
1013
+ description?: string;
1014
+ lastModifiedBy?: string;
1015
+ category?: string;
1016
+ company?: string;
1017
+ manager?: string;
1018
+ customProperties?: Array<{
1019
+ name: string;
1020
+ value: string | number | boolean;
1021
+ }>;
1022
+ }
1023
+ export declare function updateMetadata(ctx: ToolContext, params: UpdateMetadataParams): ToolResult<{
1024
+ updated: string[];
1025
+ }>;
1026
+ declare namespace section_tools_d_exports {
1027
+ export { ManageSectionsParams, ManageSectionsResult, SectionInfo, manageSections };
1028
+ }
1029
+ interface ManageSectionsParams {
1030
+ action: 'list' | 'add' | 'remove' | 'reorder' | 'moveSlides' | 'getForSlide';
1031
+ name?: string;
1032
+ slideIndices?: number[];
1033
+ sectionId?: string;
1034
+ sectionIds?: string[];
1035
+ slideIndex?: number;
1036
+ }
1037
+ interface SectionInfo {
1038
+ id: string;
1039
+ name: string;
1040
+ slideIds: string[];
1041
+ collapsed?: boolean;
1042
+ color?: string;
1043
+ }
1044
+ interface ManageSectionsResult {
1045
+ action: string;
1046
+ sections?: SectionInfo[];
1047
+ section?: SectionInfo | null;
1048
+ success?: boolean;
1049
+ }
1050
+ export declare function manageSections(ctx: ToolContext, params: ManageSectionsParams): ToolResult<ManageSectionsResult>;
1051
+ declare namespace export_tools_d_exports {
1052
+ export { ExportSlideSvgParams, ExportSlideSvgResult, ExportToSvgParams, ExportToSvgResult, exportSlideSvg, exportToSvg };
1053
+ }
1054
+ interface ExportToSvgParams {
1055
+ slideIndices?: number[];
1056
+ includeHidden?: boolean;
1057
+ defaultFontFamily?: string;
1058
+ defaultFontSize?: number;
1059
+ }
1060
+ interface ExportToSvgResult {
1061
+ svgStrings: string[];
1062
+ slideCount: number;
1063
+ }
1064
+ export declare function exportToSvg(ctx: ToolContext, params: ExportToSvgParams): ToolResult<ExportToSvgResult>;
1065
+ interface ExportSlideSvgParams {
1066
+ slideIndex: number;
1067
+ defaultFontFamily?: string;
1068
+ defaultFontSize?: number;
1069
+ }
1070
+ interface ExportSlideSvgResult {
1071
+ svg: string;
1072
+ slideIndex: number;
1073
+ }
1074
+ export declare function exportSlideSvg(ctx: ToolContext, params: ExportSlideSvgParams): ToolResult<ExportSlideSvgResult>;
1075
+ declare namespace json_tools_d_exports {
1076
+ export { ExportToJsonParams, ExportToJsonResult, ImportFromJsonParams, ImportFromJsonResult, exportToJson, importFromJson };
1077
+ }
1078
+ interface ExportToJsonParams {
1079
+ /** Pretty-print with 2-space indentation. Default `true`. */
1080
+ pretty?: boolean;
1081
+ }
1082
+ interface ExportToJsonResult {
1083
+ /** The serialized `pptx-viewer-json` document text. */
1084
+ json: string;
1085
+ slideCount: number;
1086
+ /** UTF-8 byte size of the serialized document. */
1087
+ byteSize: number;
1088
+ /** Embedded binary-asset accounting (count + decoded bytes). */
1089
+ assets: PptxJsonAssetStats;
1090
+ }
1091
+ /**
1092
+ * Serialize the presentation to the portable, self-contained
1093
+ * `pptx-viewer-json` document format (binary assets embedded as base64).
1094
+ */
1095
+ export declare function exportToJson(ctx: ToolContext, params: ExportToJsonParams): ToolResult<ExportToJsonResult>;
1096
+ interface ImportFromJsonParams {
1097
+ /** The `pptx-viewer-json` document text to import. */
1098
+ json: string;
1099
+ }
1100
+ interface ImportFromJsonResult {
1101
+ slideCount: number;
1102
+ width: number;
1103
+ height: number;
1104
+ }
1105
+ /**
1106
+ * Replace the presentation content with a deck imported from a
1107
+ * `pptx-viewer-json` document: every presentation-level field the document
1108
+ * defines wins, and the slide array is replaced wholesale. The context's
1109
+ * `pptxData` object is mutated in place so hosts holding a reference (viewer
1110
+ * bridges, the save pipeline) observe the imported deck.
1111
+ */
1112
+ export declare function importFromJson(ctx: ToolContext, params: ImportFromJsonParams): ToolResult<ImportFromJsonResult>;
1113
+ declare namespace hyperlink_tools_d_exports {
1114
+ export { HyperlinkInfo, ManageHyperlinksParams, ManageHyperlinksResult, manageHyperlinks };
1115
+ }
1116
+ interface ManageHyperlinksParams {
1117
+ slideIndex: number;
1118
+ action: 'list' | 'set' | 'remove';
1119
+ elementId?: string;
1120
+ trigger?: 'click' | 'hover';
1121
+ url?: string;
1122
+ tooltip?: string;
1123
+ targetSlideIndex?: number;
1124
+ actionType?: 'url' | 'slide' | 'nextSlide' | 'prevSlide' | 'firstSlide' | 'lastSlide' | 'endShow';
1125
+ }
1126
+ interface HyperlinkInfo {
1127
+ elementId: string;
1128
+ trigger: 'click' | 'hover';
1129
+ url?: string;
1130
+ tooltip?: string;
1131
+ targetSlideIndex?: number;
1132
+ actionType?: string;
1133
+ }
1134
+ interface ManageHyperlinksResult {
1135
+ action: string;
1136
+ hyperlinks?: HyperlinkInfo[];
1137
+ elementId?: string;
1138
+ }
1139
+ export declare function manageHyperlinks(ctx: ToolContext, params: ManageHyperlinksParams): ToolResult<ManageHyperlinksResult>;
1140
+ declare namespace geometry_tools_d_exports {
1141
+ export { ReplaceGeometryParams, replaceGeometry };
1142
+ }
1143
+ interface ReplaceGeometryParams {
1144
+ slideIndex: number;
1145
+ elementId: string;
1146
+ /** New preset shape type (e.g. "roundRect", "star5", "ellipse"). */
1147
+ shapeType?: string;
1148
+ /** Custom SVG path data (mutually exclusive with shapeType). */
1149
+ svgPath?: string;
1150
+ /** Width of the custom path coordinate space. */
1151
+ pathWidth?: number;
1152
+ /** Height of the custom path coordinate space. */
1153
+ pathHeight?: number;
1154
+ /** Adjustment values for the new geometry. */
1155
+ adjustments?: Record<string, number>;
1156
+ }
1157
+ export declare function replaceGeometry(ctx: ToolContext, params: ReplaceGeometryParams): ToolResult<{
1158
+ elementId: string;
1159
+ geometryType: string;
1160
+ }>;
1161
+ declare namespace lock_tools_d_exports {
1162
+ export { SetElementLockParams, setElementLockT };
1163
+ }
1164
+ interface SetElementLockParams {
1165
+ slideIndex: number;
1166
+ elementId: string;
1167
+ locked: boolean;
1168
+ noMove?: boolean;
1169
+ noResize?: boolean;
1170
+ noRotation?: boolean;
1171
+ noSelect?: boolean;
1172
+ noTextEdit?: boolean;
1173
+ }
1174
+ export declare function setElementLockT(ctx: ToolContext, params: SetElementLockParams): ToolResult<{
1175
+ elementId: string;
1176
+ locked: boolean;
1177
+ }>;
1178
+ declare namespace validation_tools_d_exports {
1179
+ export { RepairPresentationResult, ValidatePresentationResult, repairPresentation, validatePresentation };
1180
+ }
1181
+ interface ValidatePresentationResult {
1182
+ valid: boolean;
1183
+ issueCount: number;
1184
+ errors: number;
1185
+ warnings: number;
1186
+ issues: Array<{
1187
+ severity: string;
1188
+ code: string;
1189
+ message: string;
1190
+ path?: string;
1191
+ }>;
1192
+ }
1193
+ /**
1194
+ * Validate requires the raw bytes (ArrayBuffer) so this tool needs special
1195
+ * handling: the MCP server must pass rawBytes alongside the context.
1196
+ * We store a reference in ToolContext via resolveMedia or pass it directly.
1197
+ */
1198
+ export declare function validatePresentation(rawBytes: ArrayBuffer): Promise<ValidatePresentationResult>;
1199
+ interface RepairPresentationResult {
1200
+ repairCount: number;
1201
+ repairs: string[];
1202
+ }
1203
+ export declare function repairPresentation(rawBytes: ArrayBuffer): Promise<{
1204
+ result: RepairPresentationResult;
1205
+ repairedBytes: ArrayBuffer;
1206
+ }>;
1207
+ declare namespace presentation_tools_d_exports {
1208
+ export { UpdatePresentationPropertiesParams, getPresentationProperties, updatePresentationProperties };
1209
+ }
1210
+ export declare function getPresentationProperties(ctx: ToolContext): ToolResult<{
1211
+ properties: PptxPresentationProperties | undefined;
1212
+ slideCount: number;
1213
+ width?: number;
1214
+ height?: number;
1215
+ }>;
1216
+ interface UpdatePresentationPropertiesParams {
1217
+ showType?: 'presented' | 'browsed' | 'kiosk';
1218
+ loopContinuously?: boolean;
1219
+ showWithNarration?: boolean;
1220
+ showWithAnimation?: boolean;
1221
+ advanceMode?: 'manual' | 'useTimings';
1222
+ showSlidesMode?: 'all' | 'customShow' | 'range';
1223
+ showSlidesFrom?: number;
1224
+ showSlidesTo?: number;
1225
+ penColor?: string;
1226
+ }
1227
+ export declare function updatePresentationProperties(ctx: ToolContext, params: UpdatePresentationPropertiesParams): ToolResult<{
1228
+ properties: PptxPresentationProperties;
1229
+ }>;
1230
+ declare namespace layout_tools_d_exports {
1231
+ export { ApplyLayoutParams, ApplyLayoutResult, GetLayoutsResult, LayoutInfo, applyLayout, getLayouts };
1232
+ }
1233
+ interface LayoutInfo {
1234
+ name: string;
1235
+ path?: string;
1236
+ type?: string;
1237
+ }
1238
+ interface GetLayoutsResult {
1239
+ layouts: LayoutInfo[];
1240
+ count: number;
1241
+ }
1242
+ export declare function getLayouts(ctx: ToolContext): ToolResult<GetLayoutsResult>;
1243
+ interface ApplyLayoutParams {
1244
+ slideIndex: number;
1245
+ layoutName?: string;
1246
+ layoutType?: string;
1247
+ }
1248
+ interface ApplyLayoutResult {
1249
+ slideIndex: number;
1250
+ layoutName: string;
1251
+ }
1252
+ export declare function applyLayout(ctx: ToolContext, params: ApplyLayoutParams): ToolResult<ApplyLayoutResult>;
1253
+ declare namespace ole_tools_d_exports {
1254
+ export { GetOleContentParams, GetOleContentResult, ReplaceOleFileParams, SetOleContentResult, SetOleDeckSlideTitleParams, SetOleDocumentParagraphParams, SetOleObjectNameParams, SetOleSheetCellParams, getOleContent, replaceOleFileT, setOleDeckSlideTitle, setOleDocumentParagraph, setOleObjectNameT, setOleSheetCell };
1255
+ }
1256
+ interface GetOleContentParams {
1257
+ slideIndex: number;
1258
+ elementId: string;
1259
+ }
1260
+ interface GetOleContentResult {
1261
+ elementId: string;
1262
+ /** Which in-place editor applies to the object's current payload. */
1263
+ kind: OlePayloadEditorKind;
1264
+ /** Whether `ole_set_*` can act on this object; `false` steers to `ole_replace_file`. */
1265
+ editable: boolean;
1266
+ /** Human-readable note, set when `editable` is `false`. */
1267
+ message?: string;
1268
+ /** Present when `kind` is `sheet-xlsx` or `sheet-xls`. */
1269
+ sheet?: OleSheetGrid;
1270
+ /** Present when `kind` is `document-docx` or `document-doc`. */
1271
+ paragraphs?: string[];
1272
+ /** Present when `kind` is `deck-pptx`: every slide's text-element inventory. */
1273
+ deckSlides?: OleNestedDeckSlideDetail[];
1274
+ }
1275
+ /**
1276
+ * Describe an OLE object's editable content: the resolved payload kind, plus
1277
+ * whichever of the sheet grid / paragraph list / nested-deck slide summaries
1278
+ * applies. `file` (anything unsupported, or a missing/unreadable payload, or
1279
+ * a `document-doc` this editor declined to touch, see `getOleDocumentParagraphs`
1280
+ * in `pptx-viewer-core`) comes back as not editable in place; the caller
1281
+ * should use {@link replaceOleFileT} instead.
1282
+ */
1283
+ export declare function getOleContent(ctx: ToolContext, params: GetOleContentParams): Promise<ToolResult<GetOleContentResult>>;
1284
+ interface SetOleContentResult {
1285
+ elementId: string;
1286
+ /** `false` when the edit was a no-op (e.g. value unchanged, or wrong payload kind). */
1287
+ changed: boolean;
1288
+ }
1289
+ interface SetOleSheetCellParams {
1290
+ slideIndex: number;
1291
+ elementId: string;
1292
+ row: number;
1293
+ col: number;
1294
+ value: string;
1295
+ }
1296
+ /** Edit one cell of an Excel-payload (`.xlsx`/`.xls`) OLE object's first worksheet. */
1297
+ export declare function setOleSheetCell(ctx: ToolContext, params: SetOleSheetCellParams): Promise<ToolResult<SetOleContentResult>>;
1298
+ interface SetOleDocumentParagraphParams {
1299
+ slideIndex: number;
1300
+ elementId: string;
1301
+ paragraphIndex: number;
1302
+ text: string;
1303
+ }
1304
+ /** Replace one paragraph's text in a Word-payload (`.docx` or legacy binary `.doc`) OLE object. */
1305
+ export declare function setOleDocumentParagraph(ctx: ToolContext, params: SetOleDocumentParagraphParams): Promise<ToolResult<SetOleContentResult>>;
1306
+ interface SetOleDeckSlideTitleParams {
1307
+ slideIndex: number;
1308
+ elementId: string;
1309
+ deckSlideIndex: number;
1310
+ /** The id of the text-bearing shape to edit, from `ole_get_content`'s `deckSlides[n].elements[i].elementId`. */
1311
+ deckElementId: string;
1312
+ title: string;
1313
+ }
1314
+ /**
1315
+ * Replace one specific text-bearing shape's text on one slide of a
1316
+ * nested-deck (embedded PowerPoint) OLE object: a full round-trip through
1317
+ * the nested deck's own `PptxHandler` load/save, so any text-bearing shape
1318
+ * on any slide is a real edit target, not only a fixed "title" slot. Call
1319
+ * `ole_get_content` first to discover each slide's `elementId`s.
1320
+ */
1321
+ export declare function setOleDeckSlideTitle(ctx: ToolContext, params: SetOleDeckSlideTitleParams): Promise<ToolResult<SetOleContentResult>>;
1322
+ interface SetOleObjectNameParams {
1323
+ slideIndex: number;
1324
+ elementId: string;
1325
+ /** New Object Name (`p:oleObj/@name`); blank/whitespace clears it. */
1326
+ name: string;
1327
+ }
1328
+ /**
1329
+ * Rename an OLE object's Object Name (`p:oleObj/@name`). When the object is
1330
+ * displayed `showAsIcon`, this also regenerates the baked-in icon caption
1331
+ * (see `setOleObjectName` in `pptx-viewer-core`) so the new name is visible
1332
+ * once the deck is reopened in real PowerPoint.
1333
+ */
1334
+ export declare function setOleObjectNameT(ctx: ToolContext, params: SetOleObjectNameParams): Promise<ToolResult<SetOleContentResult>>;
1335
+ interface ReplaceOleFileParams {
1336
+ slideIndex: number;
1337
+ elementId: string;
1338
+ /** New payload as a base64 data URL, e.g. `data:application/pdf;base64,...`. */
1339
+ fileData: string;
1340
+ /** Optional new file name; also updates the resolved MIME type. */
1341
+ fileName?: string;
1342
+ }
1343
+ /**
1344
+ * Replace an OLE object's payload wholesale with an arbitrary file. Always
1345
+ * available regardless of the object's current kind, and the only edit
1346
+ * available for a generic "Package" object or an unsupported format.
1347
+ */
1348
+ export declare function replaceOleFileT(ctx: ToolContext, params: ReplaceOleFileParams): Promise<ToolResult<SetOleContentResult>>;
1349
+ declare namespace execution_d_exports {
1350
+ export { executeToolWithContext, loadPresentation, savePresentation };
1351
+ }
1352
+ /**
1353
+ * Load PptxData from a file, checking collaboration rooms first.
1354
+ * If a Y.Doc room is active the current in-memory state is dehydrated
1355
+ * so that unsaved edits are included in the tool's view of the document.
1356
+ */
1357
+ export declare function loadPresentation(filePath: string, execCtx: ExecutionContext): Promise<{
1358
+ pptxData: PptxData;
1359
+ rawBytes: Uint8Array;
1360
+ }>;
1361
+ /**
1362
+ * Save mutated PptxData back: routes through collaboration Y.Doc or disk.
1363
+ */
1364
+ export declare function savePresentation(filePath: string, pptxData: PptxData, rawBytes: Uint8Array, execCtx: ExecutionContext, tableStyleSaveOptions?: TableStyleSaveOptions): Promise<{
1365
+ savedToDisk: boolean;
1366
+ routedThroughCollaboration: boolean;
1367
+ }>;
1368
+ /**
1369
+ * Execute a pure tool function with full collaboration-aware load/save pipeline.
1370
+ * Handles dehydrate-from-room → tool → hydrate-back-to-room routing automatically.
1371
+ */
1372
+ export declare function executeToolWithContext<T>(filePath: string, execCtx: ExecutionContext, toolFn: (ctx: ToolContext) => ToolResult<T> | Promise<ToolResult<T>>): Promise<T & {
1373
+ savedToDisk?: boolean;
1374
+ routedThroughCollaboration?: boolean;
1375
+ }>;
1376
+ declare namespace chart_pareto_d_exports {
1377
+ export { applyParetoChartTypeAlias };
1378
+ }
1379
+ /**
1380
+ * Translate an MCP/AI request for `chartType: "pareto"` into this SDK's
1381
+ * actual chart model.
1382
+ *
1383
+ * "Pareto" is not a distinct `PptxChartType` here: a PowerPoint-authored
1384
+ * Pareto chart is modeled (both on parse and on save) as
1385
+ * `chartType: 'histogram'` with one `clusteredColumn`-layout series (the bin
1386
+ * frequencies) and one `paretoLine`-layout series (the cumulative
1387
+ * percentage) -- see `PptxHandlerRuntimeChartDetection` and
1388
+ * `chart-cx-generator.ts`. `createChart`/`updateChart` accept a free-form
1389
+ * `chartType` string for MCP/LLM ergonomics, so a literal `"pareto"` request
1390
+ * would otherwise silently fall back to a plain bar chart: `canGenerateChartEx`
1391
+ * does not recognise the string `"pareto"`, and the classic (non-ChartEx)
1392
+ * writer has no container for it either.
1393
+ *
1394
+ * Mutates `chart.chartData` in place: sets the chart type to `'histogram'`,
1395
+ * marks the first series as the frequency bars, and appends a computed
1396
+ * cumulative-percentage series (unless one is already present) so the result
1397
+ * round-trips as a real ChartEx Pareto chart. No-ops for any other
1398
+ * `requestedType`.
1399
+ */
1400
+ declare function applyParetoChartTypeAlias(chart: ChartPptxElement, requestedType: string): void;
1401
+ declare namespace text_editing_d_exports {
1402
+ export { replaceElementText, setElementText };
1403
+ }
1404
+ declare function setElementText(element: PptxElementWithText, text: string): void;
1405
+ declare function replaceElementText(element: PptxElementWithText, regex: RegExp, replacement: string): number;
1406
+ declare namespace pptx_codec_d_exports {
1407
+ export { COMPLEX_FIELD_MAP, COMPLEX_SLIDE_FIELD_MAP, FormatCodec, ORIGIN_FILE_LOAD, PptxCodec, SCALAR_ELEMENT_KEYS, SCALAR_SLIDE_KEYS };
1408
+ }
1409
+ declare const ORIGIN_FILE_LOAD = "file-load";
1410
+ /**
1411
+ * Bidirectional format codec: file bytes <-> Y.Doc shared types.
1412
+ *
1413
+ * Y.Doc schema:
1414
+ * pptx:meta Y.Map - width, height, widthEmu, heightEmu, sourceBytes
1415
+ * pptx:slides Y.Array<Y.Map> - one map per slide
1416
+ * Each slide Y.Map: scalar fields + `_`-prefixed JSON blobs + `elements` Y.Array<Y.Map>
1417
+ * Each element Y.Map: scalar fields + `_`-prefixed JSON blobs + `textBody` Y.Text
1418
+ * textBody Y.Text: one delta op per TextSegment (see text-body-codec.ts)
1419
+ *
1420
+ * NOTE: the viewer bindings' sync schema (pptx-viewer-shared
1421
+ * collaboration-sync.ts) uses SHORT complex-field key prefixes (`_ts`, `_tr`)
1422
+ * while this codec uses long ones (`_textStyle`, `_transition`). The two doc
1423
+ * layouts are similar but NOT interchangeable on the same Y.Doc.
1424
+ */
1425
+ interface FormatCodec {
1426
+ readonly formatId: string;
1427
+ readonly extensions: string[];
1428
+ hydrate: (ydoc: Doc, bytes: Uint8Array, origin?: string) => Promise<void>;
1429
+ dehydrate: (ydoc: Doc, dirtyPaths?: string[]) => Promise<Uint8Array>;
1430
+ observe: (ydoc: Doc, onChange: () => void) => () => void;
1431
+ }
1432
+ /**
1433
+ * Field coverage is derived from `pptx-viewer-core`'s
1434
+ * `ELEMENT_FIELD_KIND`/`SLIDE_FIELD_KIND` (the same canonical inventory the
1435
+ * viewer's `collaboration-sync.ts` allowlists derive from), so this codec
1436
+ * automatically tracks every field `PptxElement`/`PptxSlide` declares
1437
+ * instead of drifting out of sync with a hand-maintained list. Wire-format
1438
+ * prefixes stay long-form (`_textStyle`) here versus the viewer schema's
1439
+ * short-form (`_ts`) - the two Y.Doc layouts are intentionally NOT
1440
+ * interchangeable, only the field *coverage* is required to match.
1441
+ *
1442
+ * `asset`-kind fields (large binary payloads like `mediaData`) are simply
1443
+ * embedded as scalars here rather than routed through a separate asset map:
1444
+ * this codec does one-shot bidirectional file<->Y.Doc conversion, not a
1445
+ * live P2P transport, so there's no repeated-write cost to avoid.
1446
+ */
1447
+ declare const SCALAR_ELEMENT_KEYS: Set<string>;
1448
+ declare const COMPLEX_FIELD_MAP: Record<string, string>;
1449
+ declare const SCALAR_SLIDE_KEYS: Set<string>;
1450
+ declare const COMPLEX_SLIDE_FIELD_MAP: Record<string, string>;
1451
+ declare class PptxCodec implements FormatCodec {
1452
+ readonly formatId = "pptx";
1453
+ readonly extensions: string[];
1454
+ hydrate(ydoc: Doc, bytes: Uint8Array, origin?: string): Promise<void>;
1455
+ dehydrate(ydoc: Doc, _dirtyPaths?: string[]): Promise<Uint8Array>;
1456
+ observe(ydoc: Doc, onChange: () => void): () => void;
1457
+ private _slideToYMap;
1458
+ private _yMapToSlide;
1459
+ private _elementToYMap;
1460
+ private _yMapToElement;
1461
+ }
1462
+ declare namespace text_body_codec_d_exports {
1463
+ export { decodeTextBodyFromYText, encodeTextBodyToYText };
1464
+ }
1465
+ /** Encode an array of TextSegment-shaped objects into a Y.Text. */
1466
+ declare function encodeTextBodyToYText(segments: unknown[], ytext: Text): void;
1467
+ /** Decode a Y.Text delta back into TextSegment-shaped objects. */
1468
+ declare function decodeTextBodyFromYText(ytext: Text): Record<string, unknown>[];
1469
+ declare namespace index_d_exports {
1470
+ export { COMPLEX_FIELD_MAP, COMPLEX_SLIDE_FIELD_MAP, FormatCodec, ORIGIN_FILE_LOAD, PptxCodec, SCALAR_ELEMENT_KEYS, SCALAR_SLIDE_KEYS };
1471
+ }
1472
+ //#endregion
1473
+ export { type AccessibilityCheckResult, type AccessibilityIssue, type AddChartSeriesParams, type AddChartUserShapeParams, type AddElementParams, type AddElementResult, type AddSlideParams, type AddSlideResult, type ApplyLayoutParams, type ApplyLayoutResult, type ApplyTemplateParams, type ApplyTemplateResult, type ApplyThemePresetParams, type ApplyThemePresetResult, type ArrangeElementsParams, type AssignTableStyleParams, type BatchUpdateElementsParams, type ChartUserShapeInput, type CloneElementParams, type CloneElementResult, type CommentInfo, type ConvertToMarkdownParams, type ConvertToMarkdownResult, type CreateChartParams, type CreateChartResult, type CreateTableStyleParams, type DeleteElementsParams, type DeleteSlidesParams, type DeleteSlidesResult, type DeleteTableStyleParams, type DiffPresentationsParams, type DuplicateSlideParams, type ExportSlideSvgParams, type ExportSlideSvgResult, type ExportToJsonParams, type ExportToJsonResult, type ExportToSvgParams, type ExportToSvgResult, type FindPlaceholdersResult, type FindTextParams, type FindTextResult, type FormatChartDataLabelParams, type FormatChartDataPointParams, type FormatChartSeriesParams, type GetLayoutsResult, type GetOleContentParams, type GetOleContentResult, type GetSlideResult, type GroupElementsParams, type GroupElementsResult, type HyperlinkInfo, type ImportFromJsonParams, type ImportFromJsonResult, type LayoutInfo, type ListChartUserShapesParams, type ManageCommentsParams, type ManageCommentsResult, type ManageHyperlinksParams, type ManageHyperlinksResult, type ManageSectionsParams, type ManageSectionsResult, type ManageSmartArtParams, type ManageSmartArtResult, type ManageTableStructureParams, type MergePresentationParams, type MergePresentationResult, type MetadataResult, type PptxData, type PptxElement, type PptxSlide, type RemoveChartSeriesParams, type RemoveChartUserShapeParams, type RenameElementParams, type ReorderSlidesParams, type RepairPresentationResult, type ReplaceGeometryParams, type ReplaceOleFileParams, type ReplaceTextParams, type ReplaceTextResult, type SectionInfo, type SetCanvasSizeParams, type SetChartColorMapOverrideParams, type SetChartHelperLineParams, type SetElementAnimationParams, type SetElementLockParams, type SetOleContentResult, type SetOleDeckSlideTitleParams, type SetOleDocumentParagraphParams, type SetOleObjectNameParams, type SetOleSheetCellParams, type SetSlideTransitionParams, type SetTableStyleSectionParams, type SmartArtNodeInfo, type TextMatch, type ThemeInfo, type UngroupElementsParams, type UngroupElementsResult, type UpdateChartParams, type UpdateChartSeriesDataParams, type UpdateChartUserShapeParams, type UpdateElementParams, type UpdateElementStyleParams, type UpdateMetadataParams, type UpdatePresentationPropertiesParams, type UpdateSlidePropertiesParams, type UpdateTableCellsParams, type UpdateThemeColorsParams, type UpdateThemeFontsParams, type ValidatePresentationResult, pptx_codec_d_exports as apiCodecPptxCodec, text_body_codec_d_exports as apiCodecTextBodyCodec, execution_d_exports as apiExecution, chart_formatting_tools_d_exports as apiToolsChartFormattingTools, chart_pareto_d_exports as apiToolsChartPareto, chart_tools_d_exports as apiToolsChartTools, chart_user_shape_tools_d_exports as apiToolsChartUserShapeTools, content_tools_d_exports as apiToolsContentTools, conversion_tools_d_exports as apiToolsConversionTools, element_tools_d_exports as apiToolsElementTools, export_tools_d_exports as apiToolsExportTools, geometry_tools_d_exports as apiToolsGeometryTools, helpers_d_exports as apiToolsHelpers, hyperlink_tools_d_exports as apiToolsHyperlinkTools, json_tools_d_exports as apiToolsJsonTools, layout_tools_d_exports as apiToolsLayoutTools, lock_tools_d_exports as apiToolsLockTools, merge_tools_d_exports as apiToolsMergeTools, metadata_tools_d_exports as apiToolsMetadataTools, ole_tools_d_exports as apiToolsOleTools, presentation_tools_d_exports as apiToolsPresentationTools, section_tools_d_exports as apiToolsSectionTools, slide_tools_d_exports as apiToolsSlideTools, smartart_tools_d_exports as apiToolsSmartartTools, style_tools_d_exports as apiToolsStyleTools, table_style_tools_d_exports as apiToolsTableStyleTools, table_tools_d_exports as apiToolsTableTools, template_tools_d_exports as apiToolsTemplateTools, text_editing_d_exports as apiToolsTextEditing, theme_tools_d_exports as apiToolsThemeTools, validation_tools_d_exports as apiToolsValidationTools, types_d_exports as apiTypes, index_d_exports as codec };
1474
+ //# sourceMappingURL=index.d.ts.map