@office-kit/pptx 0.23.0 → 0.24.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.
@@ -329,6 +329,17 @@ interface ShadowOptions {
329
329
  readonly alignment?: 'tl' | 't' | 'tr' | 'l' | 'ctr' | 'r' | 'bl' | 'b' | 'br';
330
330
  /** Whether the shadow rotates with its shape; defaults to false. */
331
331
  readonly rotateWithShape?: boolean;
332
+ /**
333
+ * Horizontal scale (`sx`); defaults to one. The reference desktop app's Size field sets
334
+ * both scales, and its perspective presets flatten the shadow with `sy`.
335
+ */
336
+ readonly scaleX?: number;
337
+ /** Vertical scale (`sy`); defaults to one. Negative values mirror vertically. */
338
+ readonly scaleY?: number;
339
+ /** Horizontal skew (`kx`) in degrees, strictly between -90 and 90. */
340
+ readonly skewX?: number;
341
+ /** Vertical skew (`ky`) in degrees, strictly between -90 and 90. */
342
+ readonly skewY?: number;
332
343
  }
333
344
  /** Character or shape inner-shadow parameters from `<a:innerShdw>`. */
334
345
  interface InnerShadowOptions {
@@ -406,7 +417,7 @@ interface GradientStop {
406
417
  readonly colorTransforms?: readonly ColorTransform[];
407
418
  /** Opacity from 0 (transparent) to 1 (opaque). */
408
419
  readonly opacity?: number;
409
- /** PowerPoint brightness from -1 (black) to 1 (white); 0 leaves the color unchanged. */
420
+ /** The reference desktop app's brightness from -1 (black) to 1 (white); 0 leaves the color unchanged. */
410
421
  readonly brightness?: number;
411
422
  }
412
423
  interface GradientFillOptions {
@@ -444,7 +455,7 @@ interface GradientFillOptions {
444
455
  };
445
456
  /**
446
457
  * Gradient tile bounds as fractional insets from the shape's edges.
447
- * Negative values extend the tile beyond that edge. Mac PowerPoint uses
458
+ * Negative values extend the tile beyond that edge. The reference desktop app on Mac uses
448
459
  * right/bottom -1 for its bottom-right radial direction. Mirrors `<a:tileRect>`.
449
460
  */
450
461
  readonly tileRect?: GradientFillOptions['focus'];
@@ -476,6 +487,39 @@ interface PatternFillOptions {
476
487
  readonly backgroundTransforms?: readonly ColorTransform[];
477
488
  }
478
489
  //#endregion
490
+ //#region src/internal/drawingml/stroke.d.ts
491
+ /**
492
+ * A non-solid line paint — the fill choice of `CT_LineProperties` other than
493
+ * `<a:solidFill>` (which `color` spells) and `<a:noFill>`. Only gradients are
494
+ * modelled; the reference desktop app's Format pane offers no other kind for a line.
495
+ */
496
+ type LineFill = {
497
+ readonly kind: 'gradient';
498
+ } & GradientFillOptions;
499
+ /** A line paint read back from a deck; stop colors widen to `string`. */
500
+ type ReadLineFill = {
501
+ readonly kind: 'gradient';
502
+ } & ReadGradientFill;
503
+ /**
504
+ * ECMA-376 §20.1.10.49 `ST_PresetLineDashVal` tokens. The reference desktop app's
505
+ * "Dash type" dropdown maps to these.
506
+ */
507
+ type LineDash = 'solid' | 'dot' | 'dash' | 'lgDash' | 'dashDot' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot' | 'sysDashDot' | 'sysDashDotDot';
508
+ /** ECMA-376 §20.1.10.39 `ST_LineEndType`. */
509
+ type LineEndType = 'none' | 'triangle' | 'stealth' | 'diamond' | 'oval' | 'arrow';
510
+ /** ECMA-376 `ST_LineEndWidth` / `ST_LineEndLength`. */
511
+ type LineEndSize = 'sm' | 'med' | 'lg';
512
+ interface ArrowOptions {
513
+ readonly type: LineEndType;
514
+ readonly width?: LineEndSize;
515
+ readonly length?: LineEndSize;
516
+ }
517
+ /**
518
+ * The reference desktop app's Sketched style presets ([MS-ODRAWXML] §2.38,
519
+ * `EG_LineSketchType`), named after their `ask:lineSketch*` elements.
520
+ */
521
+ type LineSketch = 'curved' | 'freehand' | 'scribble';
522
+ //#endregion
479
523
  //#region src/internal/drawingml/text-format.d.ts
480
524
  interface TextFormat {
481
525
  /** Latin font family (`Calibri`, `Arial`, ...). Sets `<a:latin>`. */
@@ -502,7 +546,7 @@ interface TextFormat {
502
546
  color?: Color | null;
503
547
  /**
504
548
  * Ordered adjustments to `color` (`<a:lumMod>`, `<a:tint>`, `<a:alpha>`,
505
- * ...), written as children of its color element — PowerPoint's theme
549
+ * ...), written as children of its color element — the reference desktop app's theme
506
550
  * tints, such as Accent 2 Lighter 60%. Same field as on gradient stops;
507
551
  * requires `color`, and replaces any transforms the run's color had.
508
552
  */
@@ -512,7 +556,11 @@ interface TextFormat {
512
556
  * fill. Both are the same OOXML fill choice, so supplying both is rejected.
513
557
  */
514
558
  textFill?: TextFill;
515
- bold?: boolean;
559
+ /**
560
+ * `null` removes `b`, so the run inherits its weight again; `false` writes
561
+ * `b="0"`, which overrides an inherited bold.
562
+ */
563
+ bold?: boolean | null;
516
564
  italic?: boolean;
517
565
  /**
518
566
  * Underline style. `true` is shorthand for `'sng'` (single). Pass the
@@ -534,21 +582,22 @@ interface TextFormat {
534
582
  strike?: boolean | string;
535
583
  /**
536
584
  * Character spacing in 1/100 points (`0` = default). Negative values
537
- * tighten, positive values loosen. Mirrors `<a:rPr spc="…"/>`.
585
+ * tighten, positive values loosen. Mirrors `<a:rPr spc="…"/>`. `null`
586
+ * removes it, so the run inherits its spacing again.
538
587
  */
539
- spc?: number;
588
+ spc?: number | null;
540
589
  /**
541
590
  * Kerning threshold in 1/100 points (`ST_TextNonNegativePoint`, the same
542
591
  * unit as `spc`): `0` disables kerning, `1200` = apply kerning for runs
543
- * ≥12pt. Mirrors `<a:rPr kern="…"/>`. Mac PowerPoint was observed to
592
+ * ≥12pt. Mirrors `<a:rPr kern="…"/>`. The reference desktop app on Mac was observed to
544
593
  * save the value as `kern="0"` when its Use kerning checkbox is cleared.
545
594
  */
546
595
  kern?: number;
547
- /** Normalize character heights (`<a:rPr normalizeH>`; PowerPoint's Equalize character height). */
596
+ /** Normalize character heights (`<a:rPr normalizeH>`; the reference desktop app's Equalize character height). */
548
597
  normalizeHeight?: boolean;
549
598
  /**
550
599
  * Baseline offset as a fraction of 1 (`0.3` = superscript ~30% up,
551
- * `-0.25` = subscript). PowerPoint emits ST_Percentage; this getter
600
+ * `-0.25` = subscript). The reference desktop app emits ST_Percentage; this getter
552
601
  * returns the unit-fraction form for ergonomic comparisons.
553
602
  */
554
603
  baseline?: number;
@@ -583,11 +632,22 @@ interface TextFormat {
583
632
  /** Reflection below the glyphs — `<a:reflection>` in the run's effect list. */
584
633
  reflection?: ReflectionOptions | null;
585
634
  }
635
+ /**
636
+ * Non-solid glyph fill. `none` is `<a:noFill>` (glyphs show only their
637
+ * outline); `image` is `<a:blipFill>`, the picture stretched over the text
638
+ * block — the reference desktop app's Picture or texture fill. Its `bytes` must be PNG, JPEG,
639
+ * GIF, BMP, TIFF or WebP, and each edit embeds them once per part.
640
+ */
586
641
  type TextFill = ({
587
642
  readonly kind: 'gradient';
588
643
  } & GradientFillOptions) | ({
589
644
  readonly kind: 'pattern';
590
- } & PatternFillOptions);
645
+ } & PatternFillOptions) | {
646
+ readonly kind: 'none';
647
+ } | {
648
+ readonly kind: 'image';
649
+ readonly bytes: Uint8Array;
650
+ };
591
651
  type ReadTextFill = ({
592
652
  readonly kind: 'gradient';
593
653
  } & ReadGradientFill) | {
@@ -597,6 +657,16 @@ type ReadTextFill = ({
597
657
  readonly background: string;
598
658
  readonly foregroundTransforms?: PatternFillOptions['foregroundTransforms'];
599
659
  readonly backgroundTransforms?: PatternFillOptions['backgroundTransforms'];
660
+ } | {
661
+ readonly kind: 'none';
662
+ } | {
663
+ readonly kind: 'image';
664
+ /**
665
+ * The picture, when the reader can reach the part that holds it — the
666
+ * run's own slide. A picture inherited from a layout or master, or one
667
+ * behind a broken relationship, reads without bytes.
668
+ */
669
+ readonly bytes?: Uint8Array;
600
670
  };
601
671
  /** A run's outline: `CT_LineProperties` as far as text uses it. */
602
672
  interface TextOutline {
@@ -604,15 +674,22 @@ interface TextOutline {
604
674
  readonly color?: Color;
605
675
  /** Ordered adjustments to `color`, as on `TextFormat.colorTransforms`. Requires `color`. */
606
676
  readonly colorTransforms?: readonly ColorTransform[];
607
- /** Line width in EMU. PowerPoint's thinnest visible text outline is 9525 (0.75pt). */
677
+ /** Line width in EMU. The reference desktop app's thinnest visible text outline is 9525 (0.75pt). */
608
678
  readonly widthEmu?: number;
679
+ /**
680
+ * Gradient outline (`<a:gradFill>` in the run's `<a:ln>`), as on
681
+ * `setShapeStroke`. Exclusive with `color`.
682
+ */
683
+ readonly fill?: LineFill;
609
684
  }
610
685
  /**
611
686
  * A run format read back from a deck. `color` and `highlight` widen to
612
687
  * `string`: when no theme is supplied, or a token is not in the scheme, the
613
688
  * readers surface the raw `<a:schemeClr val>` token as-is.
614
689
  */
615
- type ReadTextFormat = Omit<TextFormat, 'color' | 'textFill' | 'underlineColor' | 'highlight' | 'outline' | 'shadow' | 'innerShadow' | 'glow' | 'reflection'> & {
690
+ type ReadTextFormat = Omit<TextFormat, 'bold' | 'spc' | 'color' | 'textFill' | 'underlineColor' | 'highlight' | 'outline' | 'shadow' | 'innerShadow' | 'glow' | 'reflection'> & {
691
+ bold?: boolean;
692
+ spc?: number;
616
693
  color?: string | null;
617
694
  underlineColor?: string | null;
618
695
  highlight?: string | null;
@@ -630,8 +707,9 @@ type ReadTextFormat = Omit<TextFormat, 'color' | 'textFill' | 'underlineColor' |
630
707
  textFill?: ReadTextFill;
631
708
  };
632
709
  /** A run outline read back from a deck. `color` widens for the same reason. */
633
- type ReadTextOutline = Omit<TextOutline, 'color'> & {
710
+ type ReadTextOutline = Omit<TextOutline, 'color' | 'fill'> & {
634
711
  readonly color?: string;
712
+ readonly fill?: ReadLineFill;
635
713
  };
636
714
  /**
637
715
  * Converts a format read back from a deck into one a writer accepts. The
@@ -677,7 +755,7 @@ type ParagraphAlignmentToken = (typeof ALIGNMENT_TOKENS)[number];
677
755
  interface RunSpec {
678
756
  /**
679
757
  * Run text, written verbatim — unlike `setShapeText`, newlines are not
680
- * split into paragraphs (PowerPoint shows a CR LF inside a run as a line
758
+ * split into paragraphs (the reference desktop app shows a CR LF inside a run as a line
681
759
  * break, which some exporters rely on).
682
760
  */
683
761
  readonly text: string;
@@ -695,7 +773,7 @@ interface ParagraphSpec {
695
773
  }
696
774
  //#endregion
697
775
  //#region src/internal/drawingml/text-3d.d.ts
698
- /** ECMA-376 `ST_PresetCameraType`; PowerPoint's flat WordArt uses `'orthographicFront'`. */
776
+ /** ECMA-376 `ST_PresetCameraType`; the reference desktop app's flat text-art presets use `'orthographicFront'`. */
699
777
  type CameraPreset = (typeof CAMERA_PRESETS)[number];
700
778
  /** ECMA-376 `ST_LightRigType` (`'threePt'`, `'soft'`, `'harsh'`, ...). */
701
779
  type LightRigType = (typeof LIGHT_RIG_TYPES)[number];
@@ -721,6 +799,13 @@ interface LightRig {
721
799
  /** `<a:scene3d>`: the camera and light the 3-D text is rendered with. */
722
800
  interface Scene3D {
723
801
  readonly camera: CameraPreset;
802
+ /**
803
+ * The camera's `<a:rot>`, which overrides the preset's orientation —
804
+ * the reference desktop app's X / Y / Z Rotation fields.
805
+ */
806
+ readonly cameraRotation?: Rotation3D;
807
+ /** The camera's field of view (`fov`) in degrees, `[0, 180]`; the reference desktop app's Perspective field. */
808
+ readonly fieldOfViewDeg?: number;
724
809
  readonly lightRig: LightRig;
725
810
  }
726
811
  /** `CT_Bevel`. Omitted fields take the schema defaults: `circle`, 76200 × 76200 EMU. */
@@ -730,7 +815,7 @@ interface Bevel {
730
815
  readonly heightEmu?: number;
731
816
  }
732
817
  /**
733
- * 3-D on a text body — what PowerPoint writes for WordArt bevels. `scene`
818
+ * 3-D on a text body — what the reference desktop app writes for text-art bevels. `scene`
734
819
  * becomes `<a:scene3d>`; the other fields become `<a:sp3d>`, written when any
735
820
  * of them is set.
736
821
  */
@@ -738,8 +823,18 @@ interface Text3D {
738
823
  readonly scene?: Scene3D;
739
824
  /** Top bevel (`<a:bevelT>`). */
740
825
  readonly bevelTop?: Bevel;
826
+ /** Bottom bevel (`<a:bevelB>`). */
827
+ readonly bevelBottom?: Bevel;
741
828
  /** Extrusion depth (`extrusionH`) in EMU. */
742
829
  readonly extrusionHeightEmu?: number;
830
+ /** Extrusion color (`<a:extrusionClr>`). Same accepted forms as `TextFormat.color`. */
831
+ readonly extrusionColor?: Color;
832
+ /** Ordered adjustments to `extrusionColor`. Requires `extrusionColor`. */
833
+ readonly extrusionColorTransforms?: readonly ColorTransform[];
834
+ /** Contour width (`contourW`) in EMU. */
835
+ readonly contourWidthEmu?: number;
836
+ /** Distance from the ground (`z`) in EMU; may be negative. */
837
+ readonly distanceFromGroundEmu?: number;
743
838
  /** Surface material (`prstMaterial`). */
744
839
  readonly material?: PresetMaterial;
745
840
  /** Contour color (`<a:contourClr>`). Same accepted forms as `TextFormat.color`. */
@@ -747,26 +842,14 @@ interface Text3D {
747
842
  /** Ordered adjustments to `contourColor`. Requires `contourColor`. */
748
843
  readonly contourColorTransforms?: readonly ColorTransform[];
749
844
  }
750
- /** A text body's 3-D read back from a deck; `contourColor` is the raw `#RRGGBB` or scheme token. */
751
- type ReadText3D = Omit<Text3D, 'contourColor'> & {
752
- readonly contourColor?: string;
753
- };
754
- //#endregion
755
- //#region src/internal/drawingml/stroke.d.ts
756
845
  /**
757
- * ECMA-376 §20.1.10.49 `ST_PresetLineDashVal` tokens. PowerPoint's
758
- * "Dash type" dropdown maps to these.
846
+ * A 3-D read back from a deck; `contourColor` and `extrusionColor` are the raw
847
+ * `#RRGGBB` or scheme token.
759
848
  */
760
- type LineDash = 'solid' | 'dot' | 'dash' | 'lgDash' | 'dashDot' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot' | 'sysDashDot' | 'sysDashDotDot';
761
- /** ECMA-376 §20.1.10.39 `ST_LineEndType`. */
762
- type LineEndType = 'none' | 'triangle' | 'stealth' | 'diamond' | 'oval' | 'arrow';
763
- /** ECMA-376 `ST_LineEndWidth` / `ST_LineEndLength`. */
764
- type LineEndSize = 'sm' | 'med' | 'lg';
765
- interface ArrowOptions {
766
- readonly type: LineEndType;
767
- readonly width?: LineEndSize;
768
- readonly length?: LineEndSize;
769
- }
849
+ type ReadText3D = Omit<Text3D, 'contourColor' | 'extrusionColor'> & {
850
+ readonly contourColor?: string;
851
+ readonly extrusionColor?: string;
852
+ };
770
853
  //#endregion
771
854
  //#region src/internal/drawingml/custom-geometry.d.ts
772
855
  /** A point in the path's own coordinate space, fully evaluated. */
@@ -837,6 +920,14 @@ interface CustomGeometry {
837
920
  readonly textRect: GeomTextRect | null;
838
921
  }
839
922
  //#endregion
923
+ //#region src/internal/drawingml/builtin-picture-styles.generated.d.ts
924
+ /** The reference desktop app's built-in picture styles, in the order of its Picture Styles gallery. */
925
+ declare const BUILTIN_PICTURE_STYLES: readonly ["Simple Frame, White", "Beveled Matte, White", "Metal Frame", "Drop Shadow Rectangle", "Reflected Rounded Rectangle", "Soft Edge Rectangle", "Double Frame, Black", "Thick Matte, Black", "Simple Frame, Black", "Beveled Oval, Black", "Compound Frame, Black", "Moderate Frame, Black", "Center Shadow Rectangle", "Rounded Diagonal Corner, White", "Snip Diagonal Corner, White", "Moderate Frame, White", "Rotated, White", "Perspective Shadow, White", "Relaxed Perspective, White", "Soft Edge Oval", "Bevel Rectangle", "Bevel Perspective", "Reflected Perspective Right", "Bevel Perspective Left, White", "Reflected Bevel, Black", "Reflected Bevel, White", "Metal Rounded Rectangle", "Metal Oval"];
926
+ //#endregion
927
+ //#region src/internal/drawingml/picture-styles.d.ts
928
+ /** English name of one of the reference desktop app's built-in picture styles (its gallery tooltip). */
929
+ type BuiltinPictureStyleName = (typeof BUILTIN_PICTURE_STYLES)[number];
930
+ //#endregion
840
931
  //#region src/internal/drawingml/geometry.d.ts
841
932
  interface Position {
842
933
  /** Left edge offset from the slide origin, in EMU. */
@@ -851,43 +942,399 @@ interface Size {
851
942
  readonly h: number;
852
943
  }
853
944
  //#endregion
945
+ //#region src/internal/presentationml/builtin-table-styles.generated.d.ts
946
+ /** The reference desktop app’s built-in table styles, in the order of its Table Styles gallery. */
947
+ declare const BUILTIN_TABLE_STYLES: readonly [{
948
+ readonly id: "{2D5ABB26-0587-4C30-8999-92F81FD0307C}";
949
+ readonly name: "No Style, No Grid";
950
+ readonly category: "bestMatch";
951
+ }, {
952
+ readonly id: "{3C2FFA5D-87B4-456A-9821-1D502468CF0F}";
953
+ readonly name: "Themed Style 1 - Accent 1";
954
+ readonly category: "bestMatch";
955
+ }, {
956
+ readonly id: "{284E427A-3D55-4303-BF80-6455036E1DE7}";
957
+ readonly name: "Themed Style 1 - Accent 2";
958
+ readonly category: "bestMatch";
959
+ }, {
960
+ readonly id: "{69C7853C-536D-4A76-A0AE-DD22124D55A5}";
961
+ readonly name: "Themed Style 1 - Accent 3";
962
+ readonly category: "bestMatch";
963
+ }, {
964
+ readonly id: "{775DCB02-9BB8-47FD-8907-85C794F793BA}";
965
+ readonly name: "Themed Style 1 - Accent 4";
966
+ readonly category: "bestMatch";
967
+ }, {
968
+ readonly id: "{35758FB7-9AC5-4552-8A53-C91805E547FA}";
969
+ readonly name: "Themed Style 1 - Accent 5";
970
+ readonly category: "bestMatch";
971
+ }, {
972
+ readonly id: "{08FB837D-C827-4EFA-A057-4D05807E0F7C}";
973
+ readonly name: "Themed Style 1 - Accent 6";
974
+ readonly category: "bestMatch";
975
+ }, {
976
+ readonly id: "{5940675A-B579-460E-94D1-54222C63F5DA}";
977
+ readonly name: "No Style, Table Grid";
978
+ readonly category: "bestMatch";
979
+ }, {
980
+ readonly id: "{D113A9D2-9D6B-4929-AA2D-F23B5EE8CBE7}";
981
+ readonly name: "Themed Style 2 - Accent 1";
982
+ readonly category: "bestMatch";
983
+ }, {
984
+ readonly id: "{18603FDC-E32A-4AB5-989C-0864C3EAD2B8}";
985
+ readonly name: "Themed Style 2 - Accent 2";
986
+ readonly category: "bestMatch";
987
+ }, {
988
+ readonly id: "{306799F8-075E-4A3A-A7F6-7FBC6576F1A4}";
989
+ readonly name: "Themed Style 2 - Accent 3";
990
+ readonly category: "bestMatch";
991
+ }, {
992
+ readonly id: "{E269D01E-BC32-4049-B463-5C60D7B0CCD2}";
993
+ readonly name: "Themed Style 2 - Accent 4";
994
+ readonly category: "bestMatch";
995
+ }, {
996
+ readonly id: "{327F97BB-C833-4FB7-BDE5-3F7075034690}";
997
+ readonly name: "Themed Style 2 - Accent 5";
998
+ readonly category: "bestMatch";
999
+ }, {
1000
+ readonly id: "{638B1855-1B75-4FBE-930C-398BA8C253C6}";
1001
+ readonly name: "Themed Style 2 - Accent 6";
1002
+ readonly category: "bestMatch";
1003
+ }, {
1004
+ readonly id: "{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}";
1005
+ readonly name: "Light Style 1";
1006
+ readonly category: "light";
1007
+ }, {
1008
+ readonly id: "{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}";
1009
+ readonly name: "Light Style 1 - Accent 1";
1010
+ readonly category: "light";
1011
+ }, {
1012
+ readonly id: "{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}";
1013
+ readonly name: "Light Style 1 - Accent 2";
1014
+ readonly category: "light";
1015
+ }, {
1016
+ readonly id: "{C083E6E3-FA7D-4D7B-A595-EF9225AFEA82}";
1017
+ readonly name: "Light Style 1 - Accent 3";
1018
+ readonly category: "light";
1019
+ }, {
1020
+ readonly id: "{D27102A9-8310-4765-A935-A1911B00CA55}";
1021
+ readonly name: "Light Style 1 - Accent 4";
1022
+ readonly category: "light";
1023
+ }, {
1024
+ readonly id: "{5FD0F851-EC5A-4D38-B0AD-8093EC10F338}";
1025
+ readonly name: "Light Style 1 - Accent 5";
1026
+ readonly category: "light";
1027
+ }, {
1028
+ readonly id: "{68D230F3-CF80-4859-8CE7-A43EE81993B5}";
1029
+ readonly name: "Light Style 1 - Accent 6";
1030
+ readonly category: "light";
1031
+ }, {
1032
+ readonly id: "{7E9639D4-E3E2-4D34-9284-5A2195B3D0D7}";
1033
+ readonly name: "Light Style 2";
1034
+ readonly category: "light";
1035
+ }, {
1036
+ readonly id: "{69012ECD-51FC-41F1-AA8D-1B2483CD663E}";
1037
+ readonly name: "Light Style 2 - Accent 1";
1038
+ readonly category: "light";
1039
+ }, {
1040
+ readonly id: "{72833802-FEF1-4C79-8D5D-14CF1EAF98D9}";
1041
+ readonly name: "Light Style 2 - Accent 2";
1042
+ readonly category: "light";
1043
+ }, {
1044
+ readonly id: "{F2DE63D5-997A-4646-A377-4702673A728D}";
1045
+ readonly name: "Light Style 2 - Accent 3";
1046
+ readonly category: "light";
1047
+ }, {
1048
+ readonly id: "{17292A2E-F333-43FB-9621-5CBBE7FDCDCB}";
1049
+ readonly name: "Light Style 2 - Accent 4";
1050
+ readonly category: "light";
1051
+ }, {
1052
+ readonly id: "{5A111915-BE36-4E01-A7E5-04B1672EAD32}";
1053
+ readonly name: "Light Style 2 - Accent 5";
1054
+ readonly category: "light";
1055
+ }, {
1056
+ readonly id: "{912C8C85-51F0-491E-9774-3900AFEF0FD7}";
1057
+ readonly name: "Light Style 2 - Accent 6";
1058
+ readonly category: "light";
1059
+ }, {
1060
+ readonly id: "{616DA210-FB5B-4158-B5E0-FEB733F419BA}";
1061
+ readonly name: "Light Style 3";
1062
+ readonly category: "light";
1063
+ }, {
1064
+ readonly id: "{BC89EF96-8CEA-46FF-86C4-4CE0E7609802}";
1065
+ readonly name: "Light Style 3 - Accent 1";
1066
+ readonly category: "light";
1067
+ }, {
1068
+ readonly id: "{5DA37D80-6434-44D0-A028-1B22A696006F}";
1069
+ readonly name: "Light Style 3 - Accent 2";
1070
+ readonly category: "light";
1071
+ }, {
1072
+ readonly id: "{8799B23B-EC83-4686-B30A-512413B5E67A}";
1073
+ readonly name: "Light Style 3 - Accent 3";
1074
+ readonly category: "light";
1075
+ }, {
1076
+ readonly id: "{ED083AE6-46FA-4A59-8FB0-9F97EB10719F}";
1077
+ readonly name: "Light Style 3 - Accent 4";
1078
+ readonly category: "light";
1079
+ }, {
1080
+ readonly id: "{BDBED569-4797-4DF1-A0F4-6AAB3CD982D8}";
1081
+ readonly name: "Light Style 3 - Accent 5";
1082
+ readonly category: "light";
1083
+ }, {
1084
+ readonly id: "{E8B1032C-EA38-4F05-BA0D-38AFFFC7BED3}";
1085
+ readonly name: "Light Style 3 - Accent 6";
1086
+ readonly category: "light";
1087
+ }, {
1088
+ readonly id: "{793D81CF-94F2-401A-BA57-92F5A7B2D0C5}";
1089
+ readonly name: "Medium Style 1";
1090
+ readonly category: "medium";
1091
+ }, {
1092
+ readonly id: "{B301B821-A1FF-4177-AEE7-76D212191A09}";
1093
+ readonly name: "Medium Style 1 - Accent 1";
1094
+ readonly category: "medium";
1095
+ }, {
1096
+ readonly id: "{9DCAF9ED-07DC-4A11-8D7F-57B35C25682E}";
1097
+ readonly name: "Medium Style 1 - Accent 2";
1098
+ readonly category: "medium";
1099
+ }, {
1100
+ readonly id: "{1FECB4D8-DB02-4DC6-A0A2-4F2EBAE1DC90}";
1101
+ readonly name: "Medium Style 1 - Accent 3";
1102
+ readonly category: "medium";
1103
+ }, {
1104
+ readonly id: "{1E171933-4619-4E11-9A3F-F7608DF75F80}";
1105
+ readonly name: "Medium Style 1 - Accent 4";
1106
+ readonly category: "medium";
1107
+ }, {
1108
+ readonly id: "{FABFCF23-3B69-468F-B69F-88F6DE6A72F2}";
1109
+ readonly name: "Medium Style 1 - Accent 5";
1110
+ readonly category: "medium";
1111
+ }, {
1112
+ readonly id: "{10A1B5D5-9B99-4C35-A422-299274C87663}";
1113
+ readonly name: "Medium Style 1 - Accent 6";
1114
+ readonly category: "medium";
1115
+ }, {
1116
+ readonly id: "{073A0DAA-6AF3-43AB-8588-CEC1D06C72B9}";
1117
+ readonly name: "Medium Style 2";
1118
+ readonly category: "medium";
1119
+ }, {
1120
+ readonly id: "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}";
1121
+ readonly name: "Medium Style 2 - Accent 1";
1122
+ readonly category: "medium";
1123
+ }, {
1124
+ readonly id: "{21E4AEA4-8DFA-4A89-87EB-49C32662AFE0}";
1125
+ readonly name: "Medium Style 2 - Accent 2";
1126
+ readonly category: "medium";
1127
+ }, {
1128
+ readonly id: "{F5AB1C69-6EDB-4FF4-983F-18BD219EF322}";
1129
+ readonly name: "Medium Style 2 - Accent 3";
1130
+ readonly category: "medium";
1131
+ }, {
1132
+ readonly id: "{00A15C55-8517-42AA-B614-E9B94910E393}";
1133
+ readonly name: "Medium Style 2 - Accent 4";
1134
+ readonly category: "medium";
1135
+ }, {
1136
+ readonly id: "{7DF18680-E054-41AD-8BC1-D1AEF772440D}";
1137
+ readonly name: "Medium Style 2 - Accent 5";
1138
+ readonly category: "medium";
1139
+ }, {
1140
+ readonly id: "{93296810-A885-4BE3-A3E7-6D5BEEA58F35}";
1141
+ readonly name: "Medium Style 2 - Accent 6";
1142
+ readonly category: "medium";
1143
+ }, {
1144
+ readonly id: "{8EC20E35-A176-4012-BC5E-935CFFF8708E}";
1145
+ readonly name: "Medium Style 3";
1146
+ readonly category: "medium";
1147
+ }, {
1148
+ readonly id: "{6E25E649-3F16-4E02-A733-19D2CDBF48F0}";
1149
+ readonly name: "Medium Style 3 - Accent 1";
1150
+ readonly category: "medium";
1151
+ }, {
1152
+ readonly id: "{85BE263C-DBD7-4A20-BB59-AAB30ACAA65A}";
1153
+ readonly name: "Medium Style 3 - Accent 2";
1154
+ readonly category: "medium";
1155
+ }, {
1156
+ readonly id: "{EB344D84-9AFB-497E-A393-DC336BA19D2E}";
1157
+ readonly name: "Medium Style 3 - Accent 3";
1158
+ readonly category: "medium";
1159
+ }, {
1160
+ readonly id: "{EB9631B5-78F2-41C9-869B-9F39066F8104}";
1161
+ readonly name: "Medium Style 3 - Accent 4";
1162
+ readonly category: "medium";
1163
+ }, {
1164
+ readonly id: "{74C1A8A3-306A-4EB7-A6B1-4F7E0EB9C5D6}";
1165
+ readonly name: "Medium Style 3 - Accent 5";
1166
+ readonly category: "medium";
1167
+ }, {
1168
+ readonly id: "{2A488322-F2BA-4B5B-9748-0D474271808F}";
1169
+ readonly name: "Medium Style 3 - Accent 6";
1170
+ readonly category: "medium";
1171
+ }, {
1172
+ readonly id: "{D7AC3CCA-C797-4891-BE02-D94E43425B78}";
1173
+ readonly name: "Medium Style 4";
1174
+ readonly category: "medium";
1175
+ }, {
1176
+ readonly id: "{69CF1AB2-1976-4502-BF36-3FF5EA218861}";
1177
+ readonly name: "Medium Style 4 - Accent 1";
1178
+ readonly category: "medium";
1179
+ }, {
1180
+ readonly id: "{8A107856-5554-42FB-B03E-39F5DBC370BA}";
1181
+ readonly name: "Medium Style 4 - Accent 2";
1182
+ readonly category: "medium";
1183
+ }, {
1184
+ readonly id: "{0505E3EF-67EA-436B-97B2-0124C06EBD24}";
1185
+ readonly name: "Medium Style 4 - Accent 3";
1186
+ readonly category: "medium";
1187
+ }, {
1188
+ readonly id: "{C4B1156A-380E-4F78-BDF5-A606A8083BF9}";
1189
+ readonly name: "Medium Style 4 - Accent 4";
1190
+ readonly category: "medium";
1191
+ }, {
1192
+ readonly id: "{22838BEF-8BB2-4498-84A7-C5851F593DF1}";
1193
+ readonly name: "Medium Style 4 - Accent 5";
1194
+ readonly category: "medium";
1195
+ }, {
1196
+ readonly id: "{16D9F66E-5EB9-4882-86FB-DCBF35E3C3E4}";
1197
+ readonly name: "Medium Style 4 - Accent 6";
1198
+ readonly category: "medium";
1199
+ }, {
1200
+ readonly id: "{E8034E78-7F5D-4C2E-B375-FC64B27BC917}";
1201
+ readonly name: "Dark Style 1";
1202
+ readonly category: "dark";
1203
+ }, {
1204
+ readonly id: "{125E5076-3810-47DD-B79F-674D7AD40C01}";
1205
+ readonly name: "Dark Style 1 - Accent 1";
1206
+ readonly category: "dark";
1207
+ }, {
1208
+ readonly id: "{37CE84F3-28C3-443E-9E96-99CF82512B78}";
1209
+ readonly name: "Dark Style 1 - Accent 2";
1210
+ readonly category: "dark";
1211
+ }, {
1212
+ readonly id: "{D03447BB-5D67-496B-8E87-E561075AD55C}";
1213
+ readonly name: "Dark Style 1 - Accent 3";
1214
+ readonly category: "dark";
1215
+ }, {
1216
+ readonly id: "{E929F9F4-4A8F-4326-A1B4-22849713DDAB}";
1217
+ readonly name: "Dark Style 1 - Accent 4";
1218
+ readonly category: "dark";
1219
+ }, {
1220
+ readonly id: "{8FD4443E-F989-4FC4-A0C8-D5A2AF1F390B}";
1221
+ readonly name: "Dark Style 1 - Accent 5";
1222
+ readonly category: "dark";
1223
+ }, {
1224
+ readonly id: "{AF606853-7671-496A-8E4F-DF71F8EC918B}";
1225
+ readonly name: "Dark Style 1 - Accent 6";
1226
+ readonly category: "dark";
1227
+ }, {
1228
+ readonly id: "{5202B0CA-FC54-4496-8BCA-5EF66A818D29}";
1229
+ readonly name: "Dark Style 2";
1230
+ readonly category: "dark";
1231
+ }, {
1232
+ readonly id: "{0660B408-B3CF-4A94-85FC-2B1E0A45F4A2}";
1233
+ readonly name: "Dark Style 2 - Accent 1/Accent 2";
1234
+ readonly category: "dark";
1235
+ }, {
1236
+ readonly id: "{91EBBBCC-DAD2-459C-BE2E-F6DE35CF9A28}";
1237
+ readonly name: "Dark Style 2 - Accent 3/Accent 4";
1238
+ readonly category: "dark";
1239
+ }, {
1240
+ readonly id: "{46F890A9-2807-4EBB-B81D-B2AA78EC7F39}";
1241
+ readonly name: "Dark Style 2 - Accent 5/Accent 6";
1242
+ readonly category: "dark";
1243
+ }];
1244
+ //#endregion
1245
+ //#region src/internal/presentationml/table-styles.d.ts
1246
+ /** English name the reference desktop app writes as `styleName` for a built-in table style. */
1247
+ type BuiltinTableStyleName = (typeof BUILTIN_TABLE_STYLES)[number]['name'];
1248
+ /** One entry of {@link BUILTIN_TABLE_STYLES}. */
1249
+ type BuiltinTableStyle = (typeof BUILTIN_TABLE_STYLES)[number];
1250
+ //#endregion
1251
+ //#region src/internal/presentationml/default-masters.d.ts
1252
+ type MasterPlaceholderType = 'title' | 'body' | 'dt' | 'ftr' | 'sldNum';
1253
+ /** Insert Placeholder's menu, in the reference desktop app's order. */
1254
+ type LayoutPlaceholderKind = 'content' | 'verticalContent' | 'text' | 'verticalText' | 'picture' | 'chart' | 'table' | 'smartArt' | 'media' | 'onlineImage';
1255
+ type NotesMasterPlaceholderType = 'hdr' | 'dt' | 'sldImg' | 'body' | 'ftr' | 'sldNum';
1256
+ type HandoutMasterPlaceholderType = 'hdr' | 'dt' | 'ftr' | 'sldNum';
1257
+ //#endregion
854
1258
  //#region src/internal/presentationml/transition-builder.d.ts
1259
+ type TransitionSpeed = 'slow' | 'med' | 'fast';
855
1260
  /**
856
1261
  * Every transition effect element name in `CT_SlideTransition`'s choice
857
- * (ECMA-376 pml.xsd). The token is emitted verbatim as `<p:{token}/>`, so this
858
- * list is both the type's domain and the write-time validation domain —
859
- * keeping them one declaration stops them drifting apart.
1262
+ * (ECMA-376 pml.xsd), emitted verbatim as `<p:{token}/>`.
860
1263
  */
861
- declare const TRANSITION_EFFECTS: readonly ["blinds", "checker", "circle", "dissolve", "comb", "cover", "cut", "diamond", "fade", "newsflash", "plus", "pull", "push", "random", "randomBar", "split", "strips", "wedge", "wheel", "wipe", "zoom"];
862
1264
  /**
863
- * Transition effect token. Maps to a `<p:{token}/>` child of
864
- * `<p:transition>`, except `'none'`: that is the library-level sentinel for
865
- * "no effect element", which the schema's choice has no member for.
1265
+ * Every effect element `setSlideTransition` writes, ECMA-376 and extensions
1266
+ * alike. The list is both the type's domain and the write-time validation
1267
+ * domain — keeping them one declaration stops them drifting apart.
1268
+ */
1269
+ declare const TRANSITION_EFFECTS: readonly ["blinds", "checker", "circle", "dissolve", "comb", "cover", "cut", "diamond", "fade", "newsflash", "plus", "pull", "push", "random", "randomBar", "split", "strips", "wedge", "wheel", "wipe", "zoom", "conveyor", "doors", "ferris", "flash", "flip", "flythrough", "gallery", "glitter", "honeycomb", "pan", "prism", "reveal", "ripple", "shred", "switch", "vortex", "warp", "wheelReverse", "window", "prstTrans", "morph"];
1270
+ /**
1271
+ * Transition effect token. Maps to the `<p:{token}/>` (or `<p14:…>`,
1272
+ * `<p15:prstTrans>`, `<p159:morph>`) child of `<p:transition>`, except
1273
+ * `'none'`: that is the library-level sentinel for "no effect element", which
1274
+ * the schema's choice has no member for.
866
1275
  */
867
1276
  type TransitionEffect = 'none' | (typeof TRANSITION_EFFECTS)[number];
1277
+ /**
1278
+ * The `prst` names [MS-PPTX] §2.4.3.8 defines for `p15:prstTrans`. The
1279
+ * attribute is an `xsd:string` naming "the internal resource to use", so a
1280
+ * name outside this list is one the reference desktop app has no transition for.
1281
+ */
1282
+ declare const TRANSITION_PRESETS: readonly ["fallOver", "drape", "curtains", "wind", "prestige", "fracture", "crush", "peelOff", "pageCurlDouble", "pageCurlSingle", "airplane", "origami"];
1283
+ /** A `p15:prstTrans` preset name. */
1284
+ type TransitionPreset = (typeof TRANSITION_PRESETS)[number];
1285
+ /** ST_TransitionMorphOption ([MS-PPTX] §2.6.4.1): what Morph matches between slides. */
1286
+ type MorphOption = 'byObject' | 'byWord' | 'byChar';
868
1287
  interface TransitionOptions {
869
1288
  effect: TransitionEffect;
870
- /** Effect speed. Defaults to omitted (PowerPoint treats absence as `med`). */
871
- speed?: 'slow' | 'med' | 'fast';
1289
+ /**
1290
+ * Effect speed: 0.5 s (`fast`), 0.75 s (`med`) or 1 s (`slow`). Omitted, it
1291
+ * is the schema default `fast` (ECMA-376 pml.xsd, CT_SlideTransition).
1292
+ */
1293
+ speed?: TransitionSpeed;
872
1294
  /**
873
1295
  * Direction, valid only for effects that carry a `dir` attribute and only
874
- * within that effect's domain (validated on write):
875
- * - `blinds`/`checker`/`comb`/`randomBar`: `horz` | `vert`
876
- * - `push`/`wipe`: `l` | `r` | `u` | `d`
1296
+ * within that effect's domain (validated on write). The side tokens name
1297
+ * the way the slide moves, so the reference desktop app's "From Right" is `l`.
1298
+ * - `blinds`/`checker`/`comb`/`randomBar`/`doors`/`window`: `horz` | `vert`
1299
+ * - `push`/`wipe`/`vortex`/`pan`/`glitter`/`prism`: `l` | `r` | `u` | `d`
877
1300
  * - `cover`/`pull`: the above plus `lu` | `ru` | `ld` | `rd`
878
1301
  * - `strips`: `lu` | `ru` | `ld` | `rd`
879
- * - `zoom`/`split`: `in` | `out`
1302
+ * - `ripple`: `center` | `lu` | `ru` | `ld` | `rd`
1303
+ * - `switch`/`flip`/`ferris`/`gallery`/`conveyor`/`reveal`: `l` | `r`
1304
+ * - `zoom`/`split`/`warp`/`flythrough`/`shred`: `in` | `out`
880
1305
  * A mismatched effect/direction pair throws; on any other effect a stray
881
1306
  * `direction` is ignored.
882
1307
  */
883
1308
  direction?: string;
884
- /** For `wheel`: number of spokes (unsigned integer). Omitted means 4. */
1309
+ /** For `wheel` and `wheelReverse`: number of spokes (unsigned integer). Omitted means 4. */
885
1310
  spokes?: number;
886
1311
  /** For `split`: orientation token (`horz` / `vert`). */
887
1312
  orientation?: 'horz' | 'vert';
888
- /** For `fade`: pass `true` to fade through black. */
1313
+ /** For `fade`, `cut` and `reveal`: pass `true` to go through black. */
889
1314
  thruBlack?: boolean;
890
- /** Whether clicking advances; default `true` (PowerPoint's default). */
1315
+ /**
1316
+ * For `glitter`: `diamond` (the default) or `hexagon`. For `shred`: `strip`
1317
+ * (the default) or `rectangle` — the reference desktop app's "Strips" and "Particles".
1318
+ */
1319
+ pattern?: 'diamond' | 'hexagon' | 'strip' | 'rectangle';
1320
+ /**
1321
+ * For `prism`: the slide's content turns rather than the slide itself
1322
+ * (the reference desktop app's Rotate and Orbit, against Cube and Box).
1323
+ */
1324
+ isContent?: boolean;
1325
+ /** For `prism`: the turn faces inwards (the reference desktop app's Box and Orbit). */
1326
+ isInverted?: boolean;
1327
+ /** For `flythrough`: the slides bounce at the end. */
1328
+ hasBounce?: boolean;
1329
+ /** For `prstTrans`: which preset transition. Required for that effect. */
1330
+ preset?: TransitionPreset;
1331
+ /** For `prstTrans`: mirror the preset left to right ("Right" instead of "Left"). */
1332
+ invertX?: boolean;
1333
+ /** For `prstTrans`: mirror the preset top to bottom. */
1334
+ invertY?: boolean;
1335
+ /** For `morph`: what is matched between the slides. Defaults to `byObject`. */
1336
+ morphOption?: MorphOption;
1337
+ /** Whether clicking advances; default `true` (the reference desktop app's default). */
891
1338
  advanceOnClick?: boolean;
892
1339
  /**
893
1340
  * Milliseconds to auto-advance after this slide. Omit for click-only
@@ -895,53 +1342,157 @@ interface TransitionOptions {
895
1342
  */
896
1343
  advanceAfterMs?: number;
897
1344
  /**
898
- * Effect duration in milliseconds (PowerPoint 2010's `p14:dur`). ECMA-376
1345
+ * Effect duration in milliseconds (`p14:dur`, [MS-PPTX]). ECMA-376
899
1346
  * only has the three `speed` steps, so the transition is written as
900
- * PowerPoint writes it: an `mc:AlternateContent` whose `p14` choice carries
901
- * the duration and whose fallback carries the nearest `speed`.
1347
+ * the reference desktop app writes it:
1348
+ * - `spd` is the fastest speed at least this long (≤ 500 ms `fast`,
1349
+ * ≤ 750 ms `med`, otherwise `slow`) unless `speed` is given; a derived
1350
+ * `fast` is left out, being the schema default.
1351
+ * - A duration equal to its speed's own (500, 750 or 1000 ms) is that
1352
+ * speed alone: no `p14:dur`, and it reads back as `speed`.
1353
+ * - Any other duration is an `mc:AlternateContent` whose `p14` choice
1354
+ * carries `p14:dur` and whose fallback carries only `spd`.
902
1355
  */
903
1356
  durationMs?: number;
904
1357
  }
905
1358
  /**
906
1359
  * A transition read back from a deck. `effect` widens to `string` because a
907
1360
  * file authored elsewhere can carry an effect element this library does not
908
- * model; writing one still requires a `TransitionEffect`.
1361
+ * model; writing one still requires a `TransitionEffect`. `preset` widens the
1362
+ * same way.
909
1363
  */
910
- type SlideTransition = Omit<TransitionOptions, 'effect'> & {
1364
+ type SlideTransition = Omit<TransitionOptions, 'effect' | 'preset'> & {
911
1365
  effect: string;
1366
+ preset?: string;
1367
+ };
1368
+ //#endregion
1369
+ //#region src/internal/presentationml/animation-emphasis-options.d.ts
1370
+ /** Which way Spin turns — the reference desktop app's Effect Options "Direction". */
1371
+ type AnimationSpinDirection = 'clockwise' | 'counterclockwise';
1372
+ /**
1373
+ * Which way Grow/Shrink scales: both axes, or only the width (`'horizontal'`)
1374
+ * or only the height (`'vertical'`).
1375
+ */
1376
+ type AnimationScaleDirection = 'both' | 'horizontal' | 'vertical';
1377
+ /**
1378
+ * The colour a colour emphasis effect changes to: a theme slot or an sRGB
1379
+ * value, optionally with DrawingML colour transforms — the tints and shades
1380
+ * of a theme colour palette are `lumMod` / `lumOff` on the theme slot.
1381
+ */
1382
+ type AnimationColor = Color | {
1383
+ readonly color: Color;
1384
+ readonly colorTransforms?: readonly ColorTransform[];
912
1385
  };
913
1386
  //#endregion
914
1387
  //#region src/internal/presentationml/animation-builder.d.ts
915
1388
  /**
916
- * What kind of effect to apply.
1389
+ * What kind of effect to apply — one token per entry of the reference desktop app's Entrance,
1390
+ * Emphasis and Exit galleries, named after the gallery entry.
917
1391
  *
918
- * Entrance effects put the shape on the slide and exit effects take it off.
919
- * `spin` is the one emphasis effect modelled here: it turns a shape that is
920
- * already on the slide and leaves it exactly where it was, so it never decides
921
- * whether the shape is shown.
1392
+ * Entrance effects put the shape on the slide and end in `In` (`appear` aside);
1393
+ * exit effects take it off and end in `Out` (`disappear` aside). Emphasis
1394
+ * effects animate a shape that is already on the slide and never decide
1395
+ * whether it is shown.
1396
+ *
1397
+ * Where a gallery name would not tell two presets apart, the token does:
1398
+ * `zoomIn` is the reference desktop app's "Zoom" (preset 53, which fades as it grows) and
1399
+ * `basicZoomIn` its "Basic Zoom" (preset 23); `floatIn` / `floatOut` are
1400
+ * "Float In" / "Float Out" (preset 42) and `floatingIn` / `floatingOut` the
1401
+ * "Float" entrance and exit (preset 30).
922
1402
  */
923
- type AnimationEffect = 'appear' | 'fadeIn' | 'flyIn' | 'zoomIn' | 'disappear' | 'fadeOut' | 'flyOut' | 'zoomOut' | 'spin';
1403
+ type AnimationEffect = 'appear' | 'blindsIn' | 'checkerboardIn' | 'dissolveIn' | 'flyIn' | 'peekIn' | 'randomBarsIn' | 'shapeIn' | 'splitIn' | 'stripsIn' | 'wedgeIn' | 'wheelIn' | 'wipeIn' | 'expandIn' | 'fadeIn' | 'swivelIn' | 'zoomIn' | 'centerRevolveIn' | 'floatIn' | 'growTurnIn' | 'riseUpIn' | 'spinnerIn' | 'basicZoomIn' | 'stretchIn' | 'boomerangIn' | 'bounceIn' | 'creditsIn' | 'curveUpIn' | 'dropIn' | 'flipIn' | 'floatingIn' | 'pinwheelIn' | 'spiralIn' | 'basicSwivelIn' | 'whipIn' | 'blindsOut' | 'checkerboardOut' | 'disappear' | 'dissolveOut' | 'flyOut' | 'peekOut' | 'randomBarsOut' | 'shapeOut' | 'splitOut' | 'stripsOut' | 'wedgeOut' | 'wheelOut' | 'wipeOut' | 'contractOut' | 'fadeOut' | 'swivelOut' | 'zoomOut' | 'centerRevolveOut' | 'collapseOut' | 'floatOut' | 'shrinkTurnOut' | 'sinkDownOut' | 'spinnerOut' | 'basicZoomOut' | 'stretchyOut' | 'boomerangOut' | 'bounceOut' | 'creditsOut' | 'curveDownOut' | 'dropOut' | 'flipOut' | 'floatingOut' | 'pinwheelOut' | 'spiralOut' | 'basicSwivelOut' | 'whipOut' | 'fillColor' | 'fontColor' | 'growShrink' | 'lineColor' | 'spin' | 'transparency' | 'boldFlash' | 'brushColor' | 'complementaryColor' | 'complementaryColor2' | 'contrastingColor' | 'darken' | 'desaturate' | 'lighten' | 'objectColor' | 'pulse' | 'underline' | 'colorPulse' | 'growWithColor' | 'shimmer' | 'teeter' | 'blink' | 'boldReveal' | 'wave';
924
1404
  /**
925
1405
  * Which edge of the slide a `flyIn` comes from, or a `flyOut` leaves by —
926
- * PowerPoint's "From Bottom" / Google Slides' "Fly in from bottom".
927
- */
928
- type AnimationDirection = 'top' | 'right' | 'bottom' | 'left';
1406
+ * the reference desktop app's "From Bottom" / Google Slides' "Fly in from bottom" — or, for
1407
+ * the four corners, the corner. A wipe or a peek names an edge too; strips
1408
+ * name a corner.
1409
+ */
1410
+ type AnimationDirection = 'top' | 'right' | 'bottom' | 'left' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
1411
+ /** Which way blinds, random bars and a split run — and a checkerboard: across or down. */
1412
+ type AnimationOrientation = 'horizontal' | 'vertical';
1413
+ /** Whether a shape or split effect opens from the centre outwards or closes inwards. */
1414
+ type AnimationInOut = 'in' | 'out';
1415
+ /** The outline a `shapeIn` / `shapeOut` reveals the object through. */
1416
+ type AnimationShape = 'circle' | 'box' | 'diamond' | 'plus';
1417
+ /**
1418
+ * How an effect on a shape with text treats the text — the reference desktop app's Effect
1419
+ * Options "Sequence":
1420
+ *
1421
+ * - `'asOneObject'` animates the shape and its text together, as one effect.
1422
+ * - `'allAtOnce'` gives each paragraph an effect of its own, all starting
1423
+ * together (`<p:bldP build="allAtOnce">`).
1424
+ * - `'byParagraph'` gives each paragraph an effect of its own, one click (or
1425
+ * start condition) apiece (`<p:bldP build="p">`).
1426
+ */
1427
+ type AnimationTextBuild = 'asOneObject' | 'allAtOnce' | 'byParagraph';
929
1428
  /** When an effect runs relative to the one before it. */
930
1429
  type AnimationStartCondition = 'click' | 'withPrevious' | 'afterPrevious';
931
1430
  interface AnimationOptions {
932
1431
  /** Which preset effect to apply. */
933
1432
  readonly effect: AnimationEffect;
934
1433
  /**
935
- * Which edge of the slide a `'flyIn'` comes from, or a `'flyOut'` leaves by.
936
- * Defaults to `'bottom'`, PowerPoint's own default for the preset. Passing it
937
- * for an effect that does not fly is an error rather than a no-op: it would
938
- * otherwise read as a direction the file never records.
1434
+ * Which edge of the slide a `'flyIn'` comes from, or a `'flyOut'` leaves by
1435
+ * — any of the eight. `'wipeIn'`, `'wipeOut'`, `'peekIn'` and `'peekOut'`
1436
+ * take one of the four edges, `'stripsIn'` and `'stripsOut'` one of the four
1437
+ * corners. Defaults to the reference desktop app's own default for the preset (`'bottom'`;
1438
+ * `'bottomLeft'` for strips). Passing it for an effect that takes no
1439
+ * direction is an error rather than a no-op: it would otherwise read as a
1440
+ * direction the file never records. The same holds for the options below.
939
1441
  */
940
1442
  readonly direction?: AnimationDirection;
941
1443
  /**
942
- * Animation length in milliseconds. Defaults to 500ms. `'appear'` and
943
- * `'disappear'` are instantaneous by definition of the preset and write no
944
- * timed behaviour at all, so it does not reach them.
1444
+ * For blinds, random bars and split: which way the bars run. For a
1445
+ * checkerboard, `'horizontal'` is the reference desktop app's "Across" and `'vertical'` its
1446
+ * "Down". Defaults to `'horizontal'` (`'vertical'` for split).
1447
+ */
1448
+ readonly orientation?: AnimationOrientation;
1449
+ /**
1450
+ * For shape and split: open from the centre (`'out'`) or close in on it
1451
+ * (`'in'`). Defaults to `'in'` — `'out'` for `'shapeOut'`, as in the reference desktop app.
1452
+ */
1453
+ readonly inOut?: AnimationInOut;
1454
+ /** For `'shapeIn'` / `'shapeOut'`: the outline. Defaults to `'circle'`. */
1455
+ readonly shape?: AnimationShape;
1456
+ /** For `'wheelIn'` / `'wheelOut'`: 1, 2, 3, 4 or 8 spokes. Defaults to 1. */
1457
+ readonly spokes?: number;
1458
+ /** For `'spin'`: which way it turns. Defaults to `'clockwise'`. */
1459
+ readonly spinDirection?: AnimationSpinDirection;
1460
+ /**
1461
+ * For `'spin'`: how far it turns, in degrees. The reference desktop app's menu offers 90
1462
+ * (Quarter Spin), 180 (Half Spin), 360 (Full Spin, the default) and 720
1463
+ * (Two Spins); any positive angle can be written.
1464
+ */
1465
+ readonly spinDegrees?: number;
1466
+ /**
1467
+ * For `'growShrink'`: scale both axes (the default), or only the width
1468
+ * (`'horizontal'`) or only the height (`'vertical'`).
1469
+ */
1470
+ readonly scaleDirection?: AnimationScaleDirection;
1471
+ /**
1472
+ * For `'growShrink'`: the size to reach, in percent of the shape's own.
1473
+ * The reference desktop app's menu offers 25 (Tiny), 50 (Smaller), 150 (Larger, the
1474
+ * default) and 400 (Huge).
1475
+ */
1476
+ readonly scalePercent?: number;
1477
+ /**
1478
+ * For `'transparency'`: how transparent the shape becomes, 0–100. The reference desktop app
1479
+ * offers 25, 50 (the default), 75 and 100.
1480
+ */
1481
+ readonly transparencyPercent?: number;
1482
+ /**
1483
+ * For the colour emphasis effects — `'fillColor'`, `'fontColor'`,
1484
+ * `'lineColor'`, `'brushColor'`, `'objectColor'`, `'colorPulse'` and
1485
+ * `'growWithColor'` — the colour to change to. Defaults to Accent 2, and to
1486
+ * Background 1 for `'colorPulse'`, as the reference desktop app's gallery does.
1487
+ */
1488
+ readonly color?: AnimationColor;
1489
+ /**
1490
+ * How long the effect runs, in milliseconds. Defaults to the reference desktop app's default
1491
+ * for the preset (`defaultAnimationDurationMs`). An effect made of several
1492
+ * behaviours is scaled as a whole, the way the reference desktop app's Duration box does.
1493
+ * `'appear'` and `'disappear'` are instantaneous and write no timed
1494
+ * behaviour, so it does not reach them; `'transparency'` and `'boldReveal'`
1495
+ * hold until the end of the slide and take none.
945
1496
  */
946
1497
  readonly durationMs?: number;
947
1498
  /**
@@ -955,12 +1506,13 @@ interface AnimationOptions {
955
1506
  /** How long to wait once the start condition is met. Defaults to 0ms. */
956
1507
  readonly delayMs?: number;
957
1508
  /**
958
- * Reveal the shape's text one paragraph at a time instead of animating the
959
- * shape as a whole — PowerPoint's "By paragraph", Google Slides' "By
960
- * paragraph". Each paragraph gets its own effect with the same `start`, so
961
- * the default `'click'` advances one paragraph per click.
1509
+ * How the shape's text is animated — the reference desktop app's Effect Options "Sequence".
1510
+ * Defaults to `'asOneObject'`, the gallery's own default. `'allAtOnce'` and
1511
+ * `'byParagraph'` give every paragraph an effect of its own: started together
1512
+ * for the first, each on its own start (a click apiece by default) for the
1513
+ * second. Fill Color and Line Color animate the shape and take neither.
962
1514
  */
963
- readonly byParagraph?: boolean;
1515
+ readonly build?: AnimationTextBuild;
964
1516
  }
965
1517
  //#endregion
966
1518
  //#region src/internal/presentationml/comments-part.d.ts
@@ -1112,15 +1664,15 @@ type PresentationSize = '16:9' | '4:3';
1112
1664
  /**
1113
1665
  * Creates a fresh, immediately-authorable `PresentationData`.
1114
1666
  *
1115
- * The returned deck carries a slide master, the Office theme, and three
1667
+ * The returned deck carries a slide master, the default theme, and three
1116
1668
  * slide layouts — `'Blank'`, `'Title Slide'`, and `'Title and Content'` —
1117
1669
  * but no slides yet. Add one with {@link addSlide} (or the
1118
1670
  * `addBlankSlide` / `addTitleSlide` / `addContentSlide` helpers), then
1119
- * `savePresentation` to emit a `.pptx` that opens cleanly in PowerPoint,
1671
+ * `savePresentation` to emit a `.pptx` that opens cleanly in the reference desktop app,
1120
1672
  * Keynote, Google Slides, and LibreOffice.
1121
1673
  *
1122
1674
  * @param options.size Slide aspect ratio. `'16:9'` (12192000×6858000 EMU,
1123
- * PowerPoint's modern default) or `'4:3'` (9144000×6858000). Defaults to
1675
+ * The reference desktop app's modern default) or `'4:3'` (9144000×6858000). Defaults to
1124
1676
  * `'16:9'`.
1125
1677
  */
1126
1678
  declare const createPresentation: (options?: {
@@ -1148,7 +1700,7 @@ interface SlideSection {
1148
1700
  declare const getSlideSections: (pres: PresentationData) => ReadonlyArray<SlideSection>;
1149
1701
  /**
1150
1702
  * Replaces the deck's section list with `sections`. Each section is
1151
- * given a fresh GUID `id` attribute (PowerPoint generates one per
1703
+ * given a fresh GUID `id` attribute (the reference desktop app generates one per
1152
1704
  * section; we synthesize a deterministic-ish one based on index +
1153
1705
  * timestamp for v1).
1154
1706
  *
@@ -1212,7 +1764,7 @@ declare const getShapeCustomGeometry: (shape: SlideShapeData) => CustomGeometry
1212
1764
  /**
1213
1765
  * Evaluates a preset shape's outline (`<a:prstGeom>`, ECMA-376 §20.1.9.18)
1214
1766
  * at `size`, from the standard's own preset definitions: the same paths,
1215
- * shading modes (`lighten` / `darken` …) and text rectangle PowerPoint uses.
1767
+ * shading modes (`lighten` / `darken` …) and text rectangle the reference desktop app uses.
1216
1768
  * The result has the shape of {@link getShapeCustomGeometry}'s, so a
1217
1769
  * renderer draws presets and custom geometry the same way.
1218
1770
  *
@@ -1291,13 +1843,13 @@ declare const getUnusedSlideMasters: (pres: PresentationData) => ReadonlyArray<s
1291
1843
  declare const getShapeName: (shape: SlideShapeData) => string;
1292
1844
  /**
1293
1845
  * Renames the shape's `cNvPr@name`. The display name is what
1294
- * PowerPoint shows in the Selection Pane and what `findShapeByName`
1295
- * matches on. Empty strings are allowed (matches PowerPoint behavior).
1846
+ * the reference desktop app shows in the Selection Pane and what `findShapeByName`
1847
+ * matches on. Empty strings are allowed (matches the reference desktop app's behavior).
1296
1848
  */
1297
1849
  /**
1298
1850
  * Reads the shape's alt-text description (`<p:cNvPr descr="...">`).
1299
1851
  * Accessibility tools (screen readers, contrast checkers) and
1300
- * PowerPoint's "Alt Text" pane look at this field. Returns `null`
1852
+ * the reference desktop app's "Alt Text" pane look at this field. Returns `null`
1301
1853
  * when no description is set.
1302
1854
  */
1303
1855
  declare const getShapeDescription: (shape: SlideShapeData) => string | null;
@@ -1310,7 +1862,7 @@ declare const getShapeDescription: (shape: SlideShapeData) => string | null;
1310
1862
  declare const setShapeDescription: (shape: SlideShapeData, description: string | null) => void;
1311
1863
  /**
1312
1864
  * Reads the shape's alt-text title (`<p:cNvPr title="...">`).
1313
- * PowerPoint surfaces this alongside `descr` in its Alt Text pane
1865
+ * The reference desktop app surfaces this alongside `descr` in its Alt Text pane
1314
1866
  * as a short heading. Returns `null` when no title is set.
1315
1867
  */
1316
1868
  declare const getShapeAltTitle: (shape: SlideShapeData) => string | null;
@@ -1322,17 +1874,18 @@ declare const getShapeAltTitle: (shape: SlideShapeData) => string | null;
1322
1874
  declare const setShapeAltTitle: (shape: SlideShapeData, title: string | null) => void;
1323
1875
  /**
1324
1876
  * `true` when the shape's `<p:cNvPr hidden="1">` is set. Hidden
1325
- * shapes are skipped by PowerPoint's renderer but stay in the
1877
+ * shapes are skipped by the reference desktop app's renderer but stay in the
1326
1878
  * shape tree — useful for variant slides that toggle which boxes
1327
1879
  * are visible.
1328
1880
  */
1329
1881
  declare const isShapeHidden: (shape: SlideShapeData) => boolean;
1330
1882
  /**
1331
1883
  * Sets or clears `<p:cNvPr hidden="...">` on the shape. Hidden
1332
- * shapes remain in the document but PowerPoint doesn't render them.
1884
+ * shapes remain in the document but the reference desktop app doesn't render them.
1333
1885
  */
1334
1886
  declare function setShapeHidden(shape: SlideShapeData, hidden: boolean): void;
1335
1887
  declare function setShapeHidden(shapes: readonly SlideShapeData[], hidden: boolean): void;
1888
+ /** Renames the shape: the name the Selection Pane shows (`<p:cNvPr name>`). */
1336
1889
  declare const renameShape: (shape: SlideShapeData, newName: string) => void;
1337
1890
  declare const getShapePlaceholderType: (shape: SlideShapeData) => string | null;
1338
1891
  declare const getShapePlaceholderIdx: (shape: SlideShapeData) => number | null;
@@ -1346,7 +1899,7 @@ declare const getShapePlaceholderIdx: (shape: SlideShapeData) => number | null;
1346
1899
  declare const isShapePlaceholder: (shape: SlideShapeData) => boolean;
1347
1900
  /**
1348
1901
  * `true` when the shape is a **text box** (`<p:cNvSpPr txBox="1">`) rather than
1349
- * an autoshape. The distinction drives default text formatting: PowerPoint /
1902
+ * an autoshape. The distinction drives default text formatting: the reference desktop app and
1350
1903
  * LibreOffice left-align and top-anchor text-box text, but center-align and
1351
1904
  * middle-anchor autoshape text when the deck author left those unset.
1352
1905
  */
@@ -1482,7 +2035,7 @@ declare const getSlideShapes: (slide: SlideData) => ReadonlyArray<SlideShapeData
1482
2035
  /**
1483
2036
  * Rebinds the slide to a different layout. The slide's own content
1484
2037
  * (shapes, text, geometry) is preserved verbatim; only the
1485
- * `slideLayout` rel is updated so PowerPoint re-renders with the new
2038
+ * `slideLayout` rel is updated so the reference desktop app re-renders with the new
1486
2039
  * layout's placeholder positions and theme.
1487
2040
  *
1488
2041
  * The new layout must already be a part of the package — pass one
@@ -1635,7 +2188,7 @@ declare const findShapeInPresentation: (pres: PresentationData, name: string | R
1635
2188
  *
1636
2189
  * Tokens must fit within a single text run (see `replaceTokensInTree`
1637
2190
  * in `drawingml/`). Cross-run replacements aren't supported — use
1638
- * `findSlidePlaceholder` + a setText path when PowerPoint has
2191
+ * `findSlidePlaceholder` + a setText path when the reference desktop app has
1639
2192
  * fragmented the run sequence.
1640
2193
  */
1641
2194
  declare const replaceTokensInSlide: (slide: SlideData, tokens: Record<string, string>) => number;
@@ -1661,6 +2214,8 @@ type ShapeFill = {
1661
2214
  * Reads back the shape's stroke (`<a:ln>`). Returns:
1662
2215
  *
1663
2216
  * - `{ kind: 'solid', color, widthEmu? }` for a solid-color outline.
2217
+ * - `{ kind: 'gradient', widthEmu? }` for a gradient line; read its stops
2218
+ * with `getShapeStrokeGradient`.
1664
2219
  * - `{ kind: 'none' }` when an `<a:noFill>` sits inside `<a:ln>`.
1665
2220
  * - `{ kind: 'inherit' }` when no `<a:ln>` is present.
1666
2221
  */
@@ -1668,6 +2223,9 @@ type ShapeStroke = {
1668
2223
  readonly kind: 'solid';
1669
2224
  readonly color: string;
1670
2225
  readonly widthEmu?: number;
2226
+ } | {
2227
+ readonly kind: 'gradient';
2228
+ readonly widthEmu?: number;
1671
2229
  } | {
1672
2230
  readonly kind: 'none';
1673
2231
  } | {
@@ -1694,7 +2252,7 @@ declare const getShapeStrokeWidth: (shape: SlideShapeData) => number | null;
1694
2252
  *
1695
2253
  * Companion to `getShapeStrokeColor`, which surfaces only the raw
1696
2254
  * `#RRGGBB` / `scheme:<token>` string — fine for round-tripping but
1697
- * wrong for rendering, because PowerPoint paints the *transformed*
2255
+ * wrong for rendering, because the reference desktop app paints the *transformed*
1698
2256
  * color, not the base one.
1699
2257
  */
1700
2258
  declare const getShapeStrokeColorResolved: (pres: PresentationData, shape: SlideShapeData) => string | null;
@@ -1702,7 +2260,7 @@ declare const getShapeStrokeColorResolved: (pres: PresentationData, shape: Slide
1702
2260
  * Returns the opacity (`0`–`1`) of the shape's own solid outline, read from
1703
2261
  * the `<a:alpha>` / `<a:alphaMod>` / `<a:alphaOff>` children of its color
1704
2262
  * element, or `null` when the outline isn't a solid color or carries no
1705
- * alpha transform (PowerPoint draws it fully opaque). Companion to
2263
+ * alpha transform (the reference desktop app draws it fully opaque). Companion to
1706
2264
  * `getShapeStrokeColorResolved`, which never carries the alpha channel.
1707
2265
  */
1708
2266
  declare const getShapeStrokeOpacity: (shape: SlideShapeData, pres?: PresentationData) => number | null;
@@ -1730,6 +2288,14 @@ declare const getShapeStrokeCompound: (shape: SlideShapeData, pres?: Presentatio
1730
2288
  * stroke layer wins.
1731
2289
  */
1732
2290
  declare const getShapeStrokeEffective: (pres: PresentationData, shape: SlideShapeData) => ShapeStroke;
2291
+ /**
2292
+ * Returns the full gradient (`stops`, direction, rotation) of a gradient line,
2293
+ * or `null` when the line is not one. Without `pres` only the shape's own
2294
+ * `<a:ln>` is read; with it, the line `getShapeStrokeEffective` resolves —
2295
+ * style matrix and placeholder cascade included — and every stop carries its
2296
+ * theme- and transform-resolved `resolvedColor`.
2297
+ */
2298
+ declare const getShapeStrokeGradient: (shape: SlideShapeData, pres?: PresentationData) => ReadGradientFill | null;
1733
2299
  declare const getShapeStroke: (shape: SlideShapeData) => ShapeStroke;
1734
2300
  /**
1735
2301
  * Convenience over `getShapeFill(shape)`: returns the solid-fill
@@ -1748,14 +2314,14 @@ declare const getShapeFillColor: (shape: SlideShapeData) => string | null;
1748
2314
  *
1749
2315
  * Companion to `getShapeFillColor`, which surfaces only the raw
1750
2316
  * `#RRGGBB` / `scheme:<token>` string. Renderers and exporters that
1751
- * need the color PowerPoint actually paints should call this.
2317
+ * need the color the reference desktop app actually paints should call this.
1752
2318
  */
1753
2319
  declare const getShapeFillColorResolved: (pres: PresentationData, shape: SlideShapeData) => string | null;
1754
2320
  /**
1755
2321
  * Returns the opacity (`0`–`1`) of the shape's solid fill, read from
1756
2322
  * the `<a:alpha>` / `<a:alphaMod>` / `<a:alphaOff>` children of its color
1757
2323
  * element, or `null` when the fill isn't solid or carries no alpha
1758
- * transform (PowerPoint paints it fully opaque). Companion to
2324
+ * transform (the reference desktop app paints it fully opaque). Companion to
1759
2325
  * `getShapeFillColorResolved`, which never carries the alpha channel —
1760
2326
  * OOXML encodes color and alpha independently. Pass `pres` to resolve the
1761
2327
  * shape's theme fill reference when no direct fill is present.
@@ -1916,7 +2482,7 @@ declare const setShapeRotation: (shape: SlideShapeData, degrees: number) => void
1916
2482
  *
1917
2483
  * The common use is the corner radius of the `roundRect` preset, whose `adj`
1918
2484
  * guide runs `0..50000` (thousandths of a percent of the shorter side;
1919
- * `16667` ≈ the PowerPoint default, `0` = square corners, `50000` = fully
2485
+ * `16667` ≈ the reference desktop app's default, `0` = square corners, `50000` = fully
1920
2486
  * rounded). For example, `setShapeAdjustValues(shape, { adj: 5000 })` gives a
1921
2487
  * subtle 5% rounding.
1922
2488
  *
@@ -1964,7 +2530,7 @@ declare const setShapeGradientFill: (shape: SlideShapeData, options: GradientFil
1964
2530
  * the pattern. Both accept `#RRGGBB`, bare `RRGGBB`, or scheme tokens
1965
2531
  * (`accent1`, `bg1`, ...). Omitted settings preserve existing pattern XML,
1966
2532
  * including theme references and color transforms. A new pattern defaults to
1967
- * `pct5`, foreground `accent1` and background `bg1`, as in Mac PowerPoint.
2533
+ * `pct5`, foreground `accent1` and background `bg1`, as in the reference desktop app on Mac.
1968
2534
  */
1969
2535
  declare const setShapePatternFill: (shape: SlideShapeData, options: Partial<PatternFillOptions>) => void;
1970
2536
  /**
@@ -1978,7 +2544,7 @@ declare const setShapePatternFill: (shape: SlideShapeData, options: Partial<Patt
1978
2544
  * e.g. `'pct50'`, `'dkUpDiag'`, `'cross'`, `'wave'`. Renderers can map it onto
1979
2545
  * an SVG `<pattern>` definition, and the result can be handed straight back to
1980
2546
  * `setShapePatternFill`. A missing or unrecognised `prst` reads as `'pct50'`,
1981
- * which is what PowerPoint paints when the attribute is absent.
2547
+ * which is what the reference desktop app paints when the attribute is absent.
1982
2548
  */
1983
2549
  declare const getShapePatternFill: (pres: PresentationData, shape: SlideShapeData, options?: {
1984
2550
  readonly preserveTheme?: boolean;
@@ -2008,12 +2574,36 @@ declare const setShapeNoFill: (shape: SlideShapeData) => void;
2008
2574
  * from the layout / master placeholder it descends from.
2009
2575
  */
2010
2576
  declare const clearShapeFill: (shape: SlideShapeData) => void;
2011
- /** Updates outline color, width and/or opacity (0–1); omitted properties are preserved. */
2577
+ /**
2578
+ * Updates outline color, width and/or opacity (0–1); omitted properties are
2579
+ * preserved. `fill: { kind: 'gradient', ... }` paints a gradient line instead
2580
+ * of `color` (the reference desktop app's Gradient line); it takes the same options as
2581
+ * `setShapeGradientFill` and is exclusive with `color` and `opacity`.
2582
+ */
2012
2583
  declare const setShapeStroke: (shape: SlideShapeData, options: {
2013
2584
  color?: Color;
2014
2585
  widthEmu?: number;
2015
2586
  opacity?: number;
2587
+ fill?: LineFill;
2016
2588
  }) => void;
2589
+ /**
2590
+ * Sets the reference desktop app's Sketched style on the outline (`'curved'`, `'freehand'`
2591
+ * or `'scribble'`), or removes it with `null`. Stored as the 2021
2592
+ * `ask:lineSketchStyleProps` extension of `<a:ln>`, which older readers
2593
+ * ignore. A new sketch gets a seed derived from the shape id, so the same
2594
+ * deck always saves the same bytes.
2595
+ *
2596
+ * The reference desktop app writes the hand-drawn outline into the shape's geometry and keeps the
2597
+ * original beside the style; this library keeps the true geometry instead (and
2598
+ * restores it when editing a sketch the reference desktop app wrote), leaving the roughening to
2599
+ * the renderer.
2600
+ */
2601
+ declare const setShapeStrokeSketch: (shape: SlideShapeData, sketch: LineSketch | null) => void;
2602
+ /**
2603
+ * Reads the outline's sketched style, or `null` when it has none. Only the
2604
+ * shape's own `<a:ln>` is consulted.
2605
+ */
2606
+ declare const getShapeStrokeSketch: (shape: SlideShapeData) => LineSketch | null;
2017
2607
  /** Sets an explicit "no outline" on the shape. */
2018
2608
  declare const setShapeNoStroke: (shape: SlideShapeData) => void;
2019
2609
  /**
@@ -2083,6 +2673,8 @@ declare const setShapeStrokeJoin: (shape: SlideShapeData, join: "round" | "bevel
2083
2673
  declare const setShapeStrokeCompound: (shape: SlideShapeData, cmpd: "sng" | "dbl" | "thickThin" | "thinThick" | "tri" | null) => void;
2084
2674
  //#endregion
2085
2675
  //#region src/api/fn/shape-effects.d.ts
2676
+ /** A shape's 3-D (`setShape3D`): the same DrawingML vocabulary as text 3-D. */
2677
+ type Shape3D = Text3D;
2086
2678
  /**
2087
2679
  * Read-back for `setShapeShadow` / `setShapeGlow`. Returns the kind
2088
2680
  * of effect currently on the shape's `<a:effectLst>`, or `null` when
@@ -2106,7 +2698,7 @@ type ShapeEffect = {
2106
2698
  * `CT_EffectStyleItem` (ECMA-376 §20.1.8.x) — outer shadow, inner
2107
2699
  * shadow, glow, reflection, soft-edge, blur. Returned in document
2108
2700
  * order so renderers can chain filters with the same composition
2109
- * PowerPoint applies.
2701
+ * the reference desktop app applies.
2110
2702
  *
2111
2703
  * Lengths are EMU; angles are degrees clockwise from 3 o'clock;
2112
2704
  * opacity is a unit fraction (0..1) when the spec exposes one.
@@ -2120,6 +2712,10 @@ type ShapeEffectAny = {
2120
2712
  readonly blurEmu: number;
2121
2713
  readonly distEmu: number;
2122
2714
  readonly angleDeg: number;
2715
+ readonly scaleX?: number;
2716
+ readonly scaleY?: number;
2717
+ readonly skewX?: number;
2718
+ readonly skewY?: number;
2123
2719
  } | {
2124
2720
  readonly kind: 'innerShdw';
2125
2721
  readonly color: string;
@@ -2162,7 +2758,7 @@ declare const getShapeEffect: (shape: SlideShapeData) => ShapeEffect | null;
2162
2758
  * soft edge, blur. Empty array when no effects apply.
2163
2759
  *
2164
2760
  * Companion to `getShapeEffect`, which is the v1 "first effect only"
2165
- * helper. `getShapeEffects` is what renderers want because PowerPoint
2761
+ * helper. `getShapeEffects` is what renderers want because the reference desktop app
2166
2762
  * composes multiple effects in a single filter (shadow + glow, etc.).
2167
2763
  */
2168
2764
  declare const getShapeEffects: (pres: PresentationData, shape: SlideShapeData) => readonly ShapeEffectAny[];
@@ -2180,24 +2776,59 @@ declare const findShapesByEffect: (pres: PresentationData, slide: SlideData, kin
2180
2776
  * cascade when the shape itself has no `<a:effectLst>`. Inherits
2181
2777
  * "all or nothing" — once any layer supplies an effect list, that
2182
2778
  * list is used; layers further down aren't merged in. This matches
2183
- * PowerPoint's behaviour (effect lists override rather than compose).
2779
+ * the reference desktop app's behaviour (effect lists override rather than compose).
2184
2780
  */
2185
2781
  declare const getShapeEffectsEffective: (pres: PresentationData, shape: SlideShapeData) => readonly ShapeEffectAny[];
2186
2782
  /**
2187
2783
  * Sets an outer drop shadow on the shape. Defaults: black, 4pt blur,
2188
2784
  * 3pt offset, 45° (down-right). Pass `opacity` (0–1) to soften the
2189
2785
  * shadow. Replaces an existing drop shadow and leaves the shape's other
2190
- * effects in place; `clearShapeEffects` is the way to remove them all.
2786
+ * effects in place; `null` removes only the drop shadow and
2787
+ * `clearShapeEffects` removes every effect.
2788
+ */
2789
+ declare const setShapeShadow: (shape: SlideShapeData, options?: ShadowOptions | null) => void;
2790
+ /**
2791
+ * Sets an inner shadow (`<a:innerShdw>`) on the shape, replacing only a
2792
+ * prior inner shadow. Defaults: black, 4pt blur, 3pt offset, 45°. `null`
2793
+ * removes it.
2191
2794
  */
2192
- declare const setShapeShadow: (shape: SlideShapeData, options?: ShadowOptions) => void;
2795
+ declare const setShapeInnerShadow: (shape: SlideShapeData, options: InnerShadowOptions | null) => void;
2193
2796
  /**
2194
2797
  * Sets a glow around the shape. The radius is in EMU (default 5pt =
2195
2798
  * 63500). Replaces an existing glow and composes with a shadow, in the
2196
- * order `CT_EffectList` states.
2799
+ * order `CT_EffectList` states. `null` removes only the glow.
2197
2800
  */
2198
- declare const setShapeGlow: (shape: SlideShapeData, options: GlowOptions) => void;
2801
+ declare const setShapeGlow: (shape: SlideShapeData, options: GlowOptions | null) => void;
2802
+ /**
2803
+ * Sets a reflection (`<a:reflection>`) of the shape, replacing only a prior
2804
+ * reflection. A mirrored reflection below the shape is `scaleY: -1` with
2805
+ * `alignment: 'bl'`, fading from `startOpacity` to `opacity` by
2806
+ * `endPosition`. `null` removes it.
2807
+ */
2808
+ declare const setShapeReflection: (shape: SlideShapeData, options: ReflectionOptions | null) => void;
2809
+ /**
2810
+ * Softens the shape's edges (`<a:softEdge>`) by `radiusEmu`, replacing a
2811
+ * prior soft edge. `null` removes it.
2812
+ */
2813
+ declare const setShapeSoftEdge: (shape: SlideShapeData, radiusEmu: number | null) => void;
2199
2814
  /** Removes any effects (shadow / glow / future presets) from the shape. */
2200
2815
  declare const clearShapeEffects: (shape: SlideShapeData) => void;
2816
+ /**
2817
+ * Sets the shape's own 3-D — `<a:scene3d>` (camera, rotation, lighting) and
2818
+ * `<a:sp3d>` (bevels, depth, contour, material, distance from ground) in
2819
+ * `<p:spPr>`, what the reference desktop app's 3-D Format and 3-D Rotation write. Same
2820
+ * vocabulary as `setShapeText3D`, which puts it on the text body instead. A
2821
+ * field left out removes what it describes; settings this API does not model
2822
+ * (camera zoom, backdrop, ...) are kept while their element remains. `null`
2823
+ * removes both elements.
2824
+ */
2825
+ declare const setShape3D: (shape: SlideShapeData, value: Shape3D | null) => void;
2826
+ /**
2827
+ * Reads the 3-D on the shape's own `<p:spPr>` (see `setShape3D`), or `null`
2828
+ * when it has neither `<a:scene3d>` nor `<a:sp3d>`. A theme's effect style
2829
+ * is not consulted.
2830
+ */
2831
+ declare const getShape3D: (shape: SlideShapeData) => ReadText3D | null;
2201
2832
  //#endregion
2202
2833
  //#region src/internal/drawingml/text-body-edit.d.ts
2203
2834
  type TextCase = 'sentence' | 'lower' | 'upper' | 'title' | 'toggle';
@@ -2215,7 +2846,7 @@ type TextCase = 'sentence' | 'lower' | 'upper' | 'title' | 'toggle';
2215
2846
  * formatting between them. With `range`, `value` replaces exactly that UTF-16
2216
2847
  * selection and unaffected formatting is always preserved.
2217
2848
  * Pass `{ case: 'upper' | 'lower' | 'sentence' | 'title' | 'toggle' }` to apply
2218
- * PowerPoint-style Change Case to the whole text or to `options.range`.
2849
+ * Change Case, as the reference desktop app does, to the whole text or to `options.range`.
2219
2850
  */
2220
2851
  declare const setShapeText: (shape: SlideShapeData, value: string | {
2221
2852
  case: TextCase;
@@ -2229,7 +2860,7 @@ declare const setShapeText: (shape: SlideShapeData, value: string | {
2229
2860
  };
2230
2861
  }) => void;
2231
2862
  /**
2232
- * Replaces the shape's text with a single field — text PowerPoint fills in
2863
+ * Replaces the shape's text with a single field — text the reference desktop app fills in
2233
2864
  * when it opens the deck, rather than text the file states. `type` is an
2234
2865
  * ECMA-376 `ST_TextFieldType` token: `'slidenum'` for the slide's number,
2235
2866
  * `'datetime'` (and its `datetime1`…`datetime13` variants) for the current
@@ -2237,13 +2868,13 @@ declare const setShapeText: (shape: SlideShapeData, value: string | {
2237
2868
  * through, since the list is open and renderers differ on what they honour.
2238
2869
  *
2239
2870
  * `options.text` is the cached value stored in `<a:t>`, which is what a reader
2240
- * that does not evaluate fields shows — PowerPoint overwrites it on open, so
2871
+ * that does not evaluate fields shows — the reference desktop app overwrites it on open, so
2241
2872
  * it matters only for other consumers. The shape's first run's formatting is
2242
- * carried onto the field, the way PowerPoint keeps a placeholder's look when
2873
+ * carried onto the field, the way the reference desktop app keeps a placeholder's look when
2243
2874
  * it inserts one.
2244
2875
  *
2245
2876
  * This replaces the whole text body: a field placeholder holds the field and
2246
- * nothing else, which is how PowerPoint writes slide numbers and dates.
2877
+ * nothing else, which is how the reference desktop app writes slide numbers and dates.
2247
2878
  */
2248
2879
  declare const setShapeTextField: (shape: SlideShapeData, type: string, options?: {
2249
2880
  text?: string;
@@ -2270,7 +2901,7 @@ declare const appendShapeText: (shape: SlideShapeData, value: string) => void;
2270
2901
  */
2271
2902
  type TextAnchor = 'top' | 'center' | 'bottom';
2272
2903
  /**
2273
- * Word wrap mode on a text body. `'square'` (PowerPoint default for
2904
+ * Word wrap mode on a text body. `'square'` (the reference desktop app's default for
2274
2905
  * textboxes) wraps lines at the shape's width; `'none'` lets text
2275
2906
  * overflow horizontally.
2276
2907
  */
@@ -2280,7 +2911,7 @@ type TextAutoFit = 'none' | 'normal' | 'shape';
2280
2911
  /**
2281
2912
  * Sets the text-body word-wrap mode.
2282
2913
  *
2283
- * - `'square'` writes `wrap="square"` — PowerPoint default for textboxes.
2914
+ * - `'square'` writes `wrap="square"` — the reference desktop app's default for textboxes.
2284
2915
  * - `'none'` writes `wrap="none"` — text can overflow horizontally.
2285
2916
  *
2286
2917
  * Throws for non-text-bearing shape kinds.
@@ -2301,7 +2932,7 @@ declare const getShapeTextWrap: (shape: SlideShapeData) => TextWrap | null;
2301
2932
  declare const setShapeTextAutoFit: (shape: SlideShapeData, mode: TextAutoFit) => void;
2302
2933
  /**
2303
2934
  * Sets the 3-D on the shape's text body — `<a:scene3d>` and `<a:sp3d>` in
2304
- * `<a:bodyPr>`, where PowerPoint writes its WordArt bevels. `value.scene`
2935
+ * `<a:bodyPr>`, where the reference desktop app writes its text-art bevels. `value.scene`
2305
2936
  * writes the camera and light rig; `bevelTop`, `extrusionHeightEmu`,
2306
2937
  * `material` and `contourColor` write `<a:sp3d>` (replacing `<a:flatTx>`).
2307
2938
  * A field left out removes what it describes; settings this API does not
@@ -2310,6 +2941,16 @@ declare const setShapeTextAutoFit: (shape: SlideShapeData, mode: TextAutoFit) =>
2310
2941
  * non-text-bearing shape kinds.
2311
2942
  */
2312
2943
  declare const setShapeText3D: (shape: SlideShapeData, value: Text3D | null) => void;
2944
+ /**
2945
+ * Sets the reference desktop app's Keep text flat (`<a:bodyPr><a:flatTx/>`): the text stays
2946
+ * flat, out of the shape's 3-D scene, when the shape is rotated in 3-D.
2947
+ * `<a:flatTx>` and the text body's own `<a:sp3d>` are one schema choice, so
2948
+ * keeping text flat removes a text bevel or extrusion set by
2949
+ * `setShapeText3D`. Throws for non-text-bearing shape kinds.
2950
+ */
2951
+ declare const setShapeTextFlat: (shape: SlideShapeData, flat: boolean) => void;
2952
+ /** Reads Keep text flat (see `setShapeTextFlat`) from the shape's own text body. */
2953
+ declare const getShapeTextFlat: (shape: SlideShapeData) => boolean;
2313
2954
  /**
2314
2955
  * Reads the 3-D on the shape's own text body (see `setShapeText3D`), or
2315
2956
  * `null` when its `<a:bodyPr>` has neither `<a:scene3d>` nor `<a:sp3d>`.
@@ -2318,11 +2959,11 @@ declare const setShapeText3D: (shape: SlideShapeData, value: Text3D | null) => v
2318
2959
  declare const getShapeText3D: (shape: SlideShapeData) => ReadText3D | null;
2319
2960
  /**
2320
2961
  * Reads back the bodyPr auto-fit child, or `null` when none is
2321
- * present (PowerPoint applies a layout-inherited default in that case).
2962
+ * present (the reference desktop app applies a layout-inherited default in that case).
2322
2963
  */
2323
2964
  declare const getShapeTextAutoFit: (shape: SlideShapeData) => TextAutoFit | null;
2324
2965
  /**
2325
- * Reads the scale parameters PowerPoint stores on `<a:normAutofit>`
2966
+ * Reads the scale parameters the reference desktop app stores on `<a:normAutofit>`
2326
2967
  * once it has shrunk a text body to fit. Returns `null` if the body
2327
2968
  * doesn't carry `<a:normAutofit>` or the attributes are absent. Both
2328
2969
  * fields are unitless ratios in `[0, 1]`:
@@ -2331,7 +2972,7 @@ declare const getShapeTextAutoFit: (shape: SlideShapeData) => TextAutoFit | null
2331
2972
  * - `lnSpcReduction` — subtract from the line-height ratio. Default `0`.
2332
2973
  *
2333
2974
  * Companion to `getShapeTextAutoFit`. Renderers that want to match
2334
- * PowerPoint's actual on-screen text size apply these factors to the
2975
+ * the reference desktop app's actual on-screen text size apply these factors to the
2335
2976
  * authored font sizes; without them, every long title overflows.
2336
2977
  */
2337
2978
  declare const getShapeTextAutoFitParams: (shape: SlideShapeData) => {
@@ -2349,7 +2990,7 @@ declare const getShapeTextAutoFitParams: (shape: SlideShapeData) => {
2349
2990
  declare const getShapeTextAnchor: (shape: SlideShapeData) => TextAnchor | null;
2350
2991
  /**
2351
2992
  * Reads back the internal margins of the shape's text frame. Sides
2352
- * that are absent in the XML default to `null` (PowerPoint applies
2993
+ * that are absent in the XML default to `null` (the reference desktop app applies
2353
2994
  * its built-in default for the missing side).
2354
2995
  */
2355
2996
  /**
@@ -2379,7 +3020,7 @@ declare const setShapeTextColumns: (shape: SlideShapeData, columns: {
2379
3020
  * Reads the shape's text-body rotation from `<a:bodyPr rot="N"/>`.
2380
3021
  * `rot` is stored in 60000ths of a degree (OOXML angle units); the
2381
3022
  * returned value is in degrees. Positive values rotate clockwise per
2382
- * PowerPoint's convention. Returns `null` when the attribute is
3023
+ * the reference desktop app's convention. Returns `null` when the attribute is
2383
3024
  * absent.
2384
3025
  *
2385
3026
  * Distinct from the shape's own `<p:xfrm rot=…>` (the geometry
@@ -2389,7 +3030,7 @@ declare const setShapeTextColumns: (shape: SlideShapeData, columns: {
2389
3030
  declare const getShapeTextBodyRotationDeg: (shape: SlideShapeData) => number | null;
2390
3031
  /**
2391
3032
  * Sets the shape's text-body rotation (`<a:bodyPr rot="N"/>`), measured
2392
- * in degrees. Positive rotates clockwise per PowerPoint's convention.
3033
+ * in degrees. Positive rotates clockwise per the reference desktop app's convention.
2393
3034
  * Passing `null` clears the attribute so the shape inherits the default
2394
3035
  * (`0`). Throws for non-text-bearing shape kinds.
2395
3036
  *
@@ -2407,7 +3048,7 @@ declare const setShapeTextBodyRotationDeg: (shape: SlideShapeData, rotationDeg:
2407
3048
  * - `wordArtVert` — characters not rotated, stacked vertically.
2408
3049
  * - `eaVert` — East-Asian vertical: characters upright, columns right-to-left.
2409
3050
  * - `mongolianVert` — Mongolian: rotated 90°, columns left-to-right.
2410
- * - `wordArtVertRtl` — RTL word-art stacked vertically.
3051
+ * - `wordArtVertRtl` — upright characters stacked vertically, columns right-to-left.
2411
3052
  *
2412
3053
  * Returns `null` when the attribute is absent or set to the default
2413
3054
  * `horz`.
@@ -2454,7 +3095,7 @@ declare const getShapeBodyPrEffective: (pres: PresentationData, shape: SlideShap
2454
3095
  };
2455
3096
  /**
2456
3097
  * Sets vertical anchoring. `centered` centers the text block without changing
2457
- * paragraph alignment (PowerPoint's Top / Middle / Bottom Centered options).
3098
+ * paragraph alignment (the reference desktop app's Top / Middle / Bottom Centered options).
2458
3099
  * Omit it to preserve centering; pass null to restore inherited centering.
2459
3100
  */
2460
3101
  declare const setShapeTextAnchor: (shape: SlideShapeData, anchor: TextAnchor, options?: {
@@ -2465,7 +3106,7 @@ declare const setShapeTextAnchor: (shape: SlideShapeData, anchor: TextAnchor, op
2465
3106
  * side is independent; omitted sides keep their current value (or the
2466
3107
  * layout-inherited default when the attribute is absent).
2467
3108
  *
2468
- * PowerPoint's defaults for a textbox: left/right 91440 (0.1in),
3109
+ * The reference desktop app's defaults for a textbox: left/right 91440 (0.1in),
2469
3110
  * top/bottom 45720 (0.05in).
2470
3111
  *
2471
3112
  * setShapeTextMargins(shape, { left: 0, right: 0 }); // flush-left text
@@ -2546,6 +3187,43 @@ declare function setShapeParagraphs(shapes: ReadonlyArray<SlideShapeData>, parag
2546
3187
  }>;
2547
3188
  }): void;
2548
3189
  //#endregion
3190
+ //#region src/api/fn/shape-color.d.ts
3191
+ /**
3192
+ * Resolves a DrawingML color element (`<a:srgbClr>` / `<a:schemeClr>` /
3193
+ * `<a:sysClr>` / `<a:prstClr>`) with all its `<a:lumMod>` / `<a:tint>` /
3194
+ * `<a:shade>` / `<a:satMod>` etc. transform children applied. Returns
3195
+ * `null` when the color is a scheme token and no theme is supplied to
3196
+ * resolve it.
3197
+ *
3198
+ * Exposed because both run-format and fill-format code paths need to
3199
+ * apply the same transform pipeline; keeping a single implementation
3200
+ * means future spec-coverage additions only have to land in one place.
3201
+ */
3202
+ declare const resolveDrawingColor: (colorEl: XmlElement, theme: PresentationTheme | null, clrMap?: Readonly<Record<string, string>> | null) => string | null;
3203
+ /**
3204
+ * Resolves the opacity a DrawingML color element carries through its
3205
+ * `<a:alpha>` / `<a:alphaMod>` / `<a:alphaOff>` children (ECMA-376
3206
+ * §20.1.2.3.1–3) to a `0`–`1` fraction, applied in document order from a
3207
+ * fully opaque base. Returns `null` when the element has no alpha
3208
+ * transform — the reference desktop app paints that opaque, but callers can still tell
3209
+ * "unspecified" apart from an explicit `1`.
3210
+ *
3211
+ * Kept separate from `resolveDrawingColor` because alpha never changes the
3212
+ * `#RRGGBB`; OOXML encodes the two independently and renderers emit the
3213
+ * opacity next to the color (`fill-opacity` / `stroke-opacity`).
3214
+ */
3215
+ declare const resolveDrawingColorOpacity: (colorEl: XmlElement) => number | null;
3216
+ /**
3217
+ * Reads back the format of a single run. Returns `null` when the run
3218
+ * has no `<a:rPr>` (it inherits its format from the paragraph /
3219
+ * layout / master). Boolean attributes that are explicitly `"0"`
3220
+ * decode to `false`.
3221
+ *
3222
+ * Use `getShapeRunFormatEffective` if you want the resolved format
3223
+ * after walking the placeholder / lstStyle / master inheritance chain.
3224
+ */
3225
+ declare const getShapeRunFormat: (shape: SlideShapeData, paragraphIndex: number, runIndex: number) => ReadTextFormat | null;
3226
+ //#endregion
2549
3227
  //#region src/api/fn/shape-paragraph.d.ts
2550
3228
  /**
2551
3229
  * Resolves a run's effective character properties by walking the
@@ -2633,7 +3311,7 @@ interface ParagraphProperties {
2633
3311
  rtl: boolean | null;
2634
3312
  /**
2635
3313
  * Bullet resolved through the cascade (`<a:buChar>` / `<a:buAutoNum>` /
2636
- * `<a:buNone>`). Master `bodyStyle` levels author the PowerPoint default
3314
+ * `<a:buNone>`). Master `bodyStyle` levels author the reference desktop app's default
2637
3315
  * "•", so body placeholders get their bullet from here even when no
2638
3316
  * slide-level `<a:pPr>` carries one.
2639
3317
  */
@@ -2858,7 +3536,7 @@ declare const getCommentParent: (comment: SlideCommentData) => SlideCommentData
2858
3536
  /**
2859
3537
  * Which of the two comment formats this handle came from. `'legacy'` is the
2860
3538
  * ECMA-376 `<p:cm>` list every reader understands; `'modern'` is the
2861
- * `<p188:cm>` thread PowerPoint 2021 and Microsoft 365 write.
3539
+ * `<p188:cm>` thread the reference desktop app writes from 2021 on.
2862
3540
  */
2863
3541
  declare const getCommentFormat: (comment: SlideCommentData) => "legacy" | "modern";
2864
3542
  /**
@@ -2998,7 +3676,7 @@ interface ChartSeries {
2998
3676
  readonly name: string;
2999
3677
  /**
3000
3678
  * Numeric values, one per category. `null` slots become empty cells in
3001
- * the embedded workbook (PowerPoint draws them as a gap). Lengths
3679
+ * the embedded workbook (the reference desktop app draws them as a gap). Lengths
3002
3680
  * shorter than the category count are right-padded with `null`.
3003
3681
  *
3004
3682
  * For `scatter` / `bubble` kinds there are no categories: `values`
@@ -3037,7 +3715,7 @@ interface ChartSeries {
3037
3715
  readonly chartKind?: 'bar' | 'column' | 'line' | 'area';
3038
3716
  /**
3039
3717
  * Plot this series against the secondary value axis — the right-hand
3040
- * axis PowerPoint shows for combo charts with mixed units
3718
+ * axis the reference desktop app shows for combo charts with mixed units
3041
3719
  * (`<c:valAx>` pair with `axPos="r"` plus a deleted companion
3042
3720
  * `<c:catAx>`). The builder emits the secondary axis pair on demand.
3043
3721
  * Only meaningful for the category kinds; rejected for pie / doughnut.
@@ -3071,14 +3749,14 @@ interface ChartSeries {
3071
3749
  */
3072
3750
  readonly markerSymbol?: 'none' | 'auto' | 'circle' | 'square' | 'diamond' | 'triangle' | 'star' | 'x' | 'plus' | 'dash' | 'dot' | 'picture';
3073
3751
  /**
3074
- * Marker size in points (`<c:marker><c:size val="N"/>`). PowerPoint
3752
+ * Marker size in points (`<c:marker><c:size val="N"/>`). The reference desktop app
3075
3753
  * default ~5. Only meaningful when `markerSymbol` isn't `none`.
3076
3754
  */
3077
3755
  readonly markerSizePt?: number;
3078
3756
  /**
3079
3757
  * Optional marker fill + outline color (`<c:marker><c:spPr>`), as an sRGB
3080
3758
  * hex. Defaults to `color`. The builder always writes it for line /
3081
- * scatter / radar series, because PowerPoint paints a marker without
3759
+ * scatter / radar series, because the reference desktop app paints a marker without
3082
3760
  * `<c:spPr>` in the theme's automatic color instead of the series color.
3083
3761
  */
3084
3762
  readonly markerColor?: string;
@@ -3111,7 +3789,7 @@ interface ChartSeries {
3111
3789
  /**
3112
3790
  * Optional per-data-point data-label overrides
3113
3791
  * (`<c:dLbls><c:dLbl><c:idx val="N"/>…`). Sparse — `null` slots fall back
3114
- * to the series-level `dataLabels`. PowerPoint draws the per-point element
3792
+ * to the series-level `dataLabels`. The reference desktop app draws the per-point element
3115
3793
  * over the series defaults, which is how pie / doughnut exporters give each
3116
3794
  * slice its own label content and font.
3117
3795
  */
@@ -3184,7 +3862,7 @@ interface ChartErrorBars {
3184
3862
  interface ChartTrendline {
3185
3863
  /**
3186
3864
  * Optional custom label for the trendline (`<c:trendline><c:name>…`).
3187
- * Defaults to PowerPoint's auto-generated label
3865
+ * Defaults to the reference desktop app's auto-generated label
3188
3866
  * (e.g. "Linear (X)" / "MA(5) (X)") when omitted.
3189
3867
  */
3190
3868
  readonly name?: string;
@@ -3247,7 +3925,7 @@ interface ChartDataLabels {
3247
3925
  readonly showPercent: boolean;
3248
3926
  /**
3249
3927
  * Number-format code from `<c:dLbls><c:numFmt formatCode="…"/>`. When
3250
- * set, value labels are projected through this Excel-style format
3928
+ * set, value labels are projected through this spreadsheet-style format
3251
3929
  * (same subset the value axis honors: `"0%"`, `"#,##0"`, `"$#,##0"`,
3252
3930
  * `"0.00"`). Independent of `ChartAxisScaling.numberFormat`.
3253
3931
  */
@@ -3309,7 +3987,7 @@ interface ChartAxisScaling {
3309
3987
  /**
3310
3988
  * Number-format code from `<c:numFmt formatCode="…"/>`. Common
3311
3989
  * values: `"0%"`, `"0.0%"`, `"#,##0"`, `"$#,##0"`, `"yyyy-mm-dd"`.
3312
- * Renderers project a subset of Excel-style formats to label text.
3990
+ * Renderers project a subset of spreadsheet number formats to label text.
3313
3991
  */
3314
3992
  readonly numberFormat?: string;
3315
3993
  /**
@@ -3351,10 +4029,10 @@ interface ChartView3D {
3351
4029
  readonly rotY?: number;
3352
4030
  /**
3353
4031
  * Right-angle axes (`<c:rAngAx>`): an oblique projection that ignores
3354
- * `perspective`. PowerPoint's default for bar / column / line / area.
4032
+ * `perspective`. The reference desktop app's default for bar / column / line / area.
3355
4033
  */
3356
4034
  readonly rightAngleAxes?: boolean;
3357
- /** Field of view, 0..240 (`<c:perspective>`); PowerPoint's default is 30. */
4035
+ /** Field of view, 0..240 (`<c:perspective>`); the reference desktop app's default is 30. */
3358
4036
  readonly perspective?: number;
3359
4037
  /** Depth as a percent of the chart width, 20..2000 (`<c:depthPercent>`). */
3360
4038
  readonly depthPercent?: number;
@@ -3388,7 +4066,7 @@ interface ChartOfPie {
3388
4066
  }
3389
4067
  /** Up / down bars between the first and last line series (`<c:upDownBars>`). */
3390
4068
  interface ChartUpDownBars {
3391
- /** Bar width gap, 0..500 percent (`<c:gapWidth>`); PowerPoint's default is 150. */
4069
+ /** Bar width gap, 0..500 percent (`<c:gapWidth>`); the reference desktop app's default is 150. */
3392
4070
  readonly gapWidthPct?: number;
3393
4071
  /** Fill of the rising bars as `#RRGGBB` (`<c:upBars>`). */
3394
4072
  readonly upColor?: string;
@@ -3476,7 +4154,7 @@ interface ChartTextStyle {
3476
4154
  * `<a:rPr><a:latin typeface="…"/><a:ea typeface="…"/>`. East-asian is
3477
4155
  * set alongside latin so a Japanese / CJK family (e.g. `'Yu Gothic'`)
3478
4156
  * renders the labels instead of the renderer's latin-only fallback.
3479
- * Mirrors the latin/ea pairing PowerPoint emits for CJK chart fonts.
4157
+ * Mirrors the latin/ea pairing the reference desktop app emits for CJK chart fonts.
3480
4158
  */
3481
4159
  readonly font?: string;
3482
4160
  /**
@@ -3500,7 +4178,7 @@ interface ChartTextStyle {
3500
4178
  * that `ChartSeries.secondaryAxis` series plot against. The fields mirror
3501
4179
  * the primary `valueAxis*` fields of `ChartSpec` without the prefix, limited
3502
4180
  * to what a right-hand axis needs; the axis position (`r`) and crossing
3503
- * (`max`) stay fixed. Omit the whole object for PowerPoint's defaults.
4181
+ * (`max`) stay fixed. Omit the whole object for the reference desktop app's defaults.
3504
4182
  */
3505
4183
  interface ChartSecondaryValueAxis {
3506
4184
  readonly scaling?: ChartAxisScaling;
@@ -3582,7 +4260,7 @@ interface ReadChartSpec {
3582
4260
  /**
3583
4261
  * Authored rotation on the category-axis tick labels, in degrees. From
3584
4262
  * `<c:catAx><c:txPr><a:bodyPr rot="N"/>` where N is in 60000ths of a
3585
- * degree. Positive values rotate clockwise (PowerPoint convention),
4263
+ * degree. Positive values rotate clockwise (the reference desktop app's convention),
3586
4264
  * matching the SVG `transform=rotate()` sense.
3587
4265
  */
3588
4266
  readonly categoryAxisLabelRotationDeg?: number;
@@ -3590,7 +4268,7 @@ interface ReadChartSpec {
3590
4268
  /** Authored font / color on the value-axis title. */
3591
4269
  readonly valueAxisTitleStyle?: ChartTextStyle;
3592
4270
  /**
3593
- * Rotation of the value-axis title, in degrees clockwise. PowerPoint
4271
+ * Rotation of the value-axis title, in degrees clockwise. The reference desktop app
3594
4272
  * often emits `-90` (or `vert270`) so the title reads bottom-to-top
3595
4273
  * alongside the axis. Maps to `<c:valAx><c:title><c:tx><c:rich>
3596
4274
  * <a:bodyPr rot="N"/>` (60000ths of a degree on the wire).
@@ -3648,7 +4326,7 @@ interface ReadChartSpec {
3648
4326
  /**
3649
4327
  * Authored width of the value-axis major gridlines in EMU — the `w` of
3650
4328
  * the same `<a:ln>` as `valueAxisMajorGridlineColor` (12700 = 1 pt).
3651
- * `undefined` leaves the width to the application (PowerPoint: 0.75 pt).
4329
+ * `undefined` leaves the width to the application (the reference desktop app: 0.75 pt).
3652
4330
  */
3653
4331
  readonly valueAxisMajorGridlineWidthEmu?: number;
3654
4332
  /** Companion width of the value-axis minor gridlines. */
@@ -3712,28 +4390,28 @@ interface ReadChartSpec {
3712
4390
  readonly categoryAxisLabelOffset?: number;
3713
4391
  /**
3714
4392
  * Multi-line category-label alignment relative to the tick mark —
3715
- * `<c:catAx><c:lblAlgn val="ctr|l|r"/>`. PowerPoint defaults to
4393
+ * `<c:catAx><c:lblAlgn val="ctr|l|r"/>`. The reference desktop app defaults to
3716
4394
  * `ctr` when omitted; the authored value wins.
3717
4395
  */
3718
4396
  readonly categoryAxisLabelAlign?: 'ctr' | 'l' | 'r';
3719
4397
  /**
3720
4398
  * Number-format code for the category-axis tick labels —
3721
4399
  * `<c:catAx><c:numFmt formatCode="…"/>`. Most useful on date-style
3722
- * categories (`"mm/dd/yyyy"`, `"mmm"`, etc.) but accepts any Excel
4400
+ * categories (`"mm/dd/yyyy"`, `"mmm"`, etc.) but accepts any spreadsheet
3723
4401
  * format string. Independent of `valueAxis.numberFormat` (which
3724
4402
  * targets the value axis).
3725
4403
  */
3726
4404
  readonly categoryAxisNumberFormat?: string;
3727
4405
  /**
3728
4406
  * Toggle multi-level (hierarchical) category labels —
3729
- * `<c:catAx><c:noMultiLvlLbl val="0|1"/>`. PowerPoint defaults to
4407
+ * `<c:catAx><c:noMultiLvlLbl val="0|1"/>`. The reference desktop app defaults to
3730
4408
  * `0` (multi-level labels stack). Set to `true` to flatten
3731
4409
  * hierarchical categories into a single row.
3732
4410
  */
3733
4411
  readonly categoryAxisNoMultiLevelLabel?: boolean;
3734
4412
  /**
3735
4413
  * Category-axis order — `'minMax'` (the data's natural order) or
3736
- * `'maxMin'` (reversed). For bar charts PowerPoint typically emits
4414
+ * `'maxMin'` (reversed). For bar charts the reference desktop app typically emits
3737
4415
  * `maxMin` so the first category sits at the top instead of the
3738
4416
  * bottom; honour the authored value when present.
3739
4417
  */
@@ -3744,7 +4422,7 @@ interface ReadChartSpec {
3744
4422
  * Where the category axis crosses the value axis. Either an enum
3745
4423
  * keyword (`<c:valAx><c:crosses val="autoZero|min|max"/>`) or a
3746
4424
  * specific numeric value (`<c:valAx><c:crossesAt val="N"/>`). The two
3747
- * forms are mutually exclusive — PowerPoint emits one or the other.
4425
+ * forms are mutually exclusive — the reference desktop app emits one or the other.
3748
4426
  * Default is `autoZero` (the category axis sits at value 0 if the
3749
4427
  * range straddles zero, otherwise at the closer extreme).
3750
4428
  */
@@ -3755,43 +4433,43 @@ interface ReadChartSpec {
3755
4433
  * Whether the value axis crosses the category axis *between* tick
3756
4434
  * marks (the default for bar / column / area) or *at* each tick mark
3757
4435
  * (the default for line / scatter). Maps to `<c:valAx>
3758
- * <c:crossBetween val="between|midCat"/>`. PowerPoint emits this when
4436
+ * <c:crossBetween val="between|midCat"/>`. The reference desktop app emits this when
3759
4437
  * the chart kind makes the default value non-obvious — surface it
3760
4438
  * here so the round-trip preserves the authored intent.
3761
4439
  */
3762
4440
  readonly valueAxisCrossBetween?: 'between' | 'midCat';
3763
4441
  /**
3764
4442
  * When `false`, plot data from hidden cells in the embedded workbook
3765
- * — maps to `<c:plotVisOnly val="0"/>`. PowerPoint's default is
4443
+ * — maps to `<c:plotVisOnly val="0"/>`. The reference desktop app's default is
3766
4444
  * `true` (only plot visible cells), so omitting this field emits
3767
- * `val="1"` to stay round-trip-safe with PowerPoint-authored files.
4445
+ * `val="1"` to stay round-trip-safe with files the reference desktop app authored.
3768
4446
  */
3769
4447
  readonly plotVisibleCellsOnly?: boolean;
3770
4448
  /**
3771
4449
  * Renders the chart area with rounded corners
3772
- * (`<c:chartSpace><c:roundedCorners val="1"/>`). PowerPoint's default
4450
+ * (`<c:chartSpace><c:roundedCorners val="1"/>`). The reference desktop app's default
3773
4451
  * is `false`; surface only when explicitly `true` so the round-trip
3774
4452
  * doesn't add a redundant `false`.
3775
4453
  */
3776
4454
  readonly roundedCorners?: boolean;
3777
4455
  /**
3778
- * PowerPoint built-in chart-style preset
4456
+ * The reference desktop app's built-in chart-style preset
3779
4457
  * (`<c:chartSpace><c:style val="N"/>`), 1–48. Encodes a curated combo
3780
4458
  * of theme accent colors, gradients, effects, and font sizes that
3781
- * PowerPoint applies when the user picks a chart style from the
4459
+ * the reference desktop app applies when the user picks a chart style from the
3782
4460
  * "Chart Styles" gallery. Surface for round-trip parity; renderers in
3783
4461
  * @office-kit/pptx don't (yet) interpret it.
3784
4462
  */
3785
4463
  readonly chartStyle?: number;
3786
4464
  /**
3787
4465
  * Language code for the chart's number / date formatters
3788
- * (`<c:chartSpace><c:lang val="…"/>`). PowerPoint emits the user's
3789
- * Office UI language (e.g. `'en-US'`, `'ja-JP'`). Carried for
4466
+ * (`<c:chartSpace><c:lang val="…"/>`). The reference desktop app emits the user's
4467
+ * Authoring app UI language (e.g. `'en-US'`, `'ja-JP'`). Carried for
3790
4468
  * round-trip parity; renderers in @office-kit/pptx don't act on it yet.
3791
4469
  */
3792
4470
  readonly language?: string;
3793
4471
  /**
3794
- * `<c:chartSpace><c:date1904 val="…"/>` — the Excel date-system flag.
4472
+ * `<c:chartSpace><c:date1904 val="…"/>` — the spreadsheet date-system flag.
3795
4473
  * `false` (the default) uses the 1900-epoch; `true` uses 1904.
3796
4474
  * Surface for parity; renderers don't act on it yet.
3797
4475
  */
@@ -3811,14 +4489,14 @@ interface ReadChartSpec {
3811
4489
  readonly hiLowLines?: boolean;
3812
4490
  /**
3813
4491
  * Whether a line chart draws point markers (`<c:lineChart><c:marker
3814
- * val="1"/>`). `true` is PowerPoint's "Line with Markers" subtype;
4492
+ * val="1"/>`). `true` is the reference desktop app's "Line with Markers" subtype;
3815
4493
  * absent / `false` is the plain "Line" subtype (no markers). Only
3816
4494
  * meaningful for `kind: 'line'`.
3817
4495
  */
3818
4496
  readonly lineMarkers?: boolean;
3819
4497
  /**
3820
4498
  * Gap between adjacent bar groups in `<c:gapWidth val="N"/>` units
3821
- * (0..500, percent of bar width). Default 150 (= 1.5×) in PowerPoint.
4499
+ * (0..500, percent of bar width). Default 150 (= 1.5×) in the reference desktop app.
3822
4500
  */
3823
4501
  readonly gapWidthPct?: number;
3824
4502
  /**
@@ -3903,7 +4581,7 @@ interface ReadChartSpec {
3903
4581
  readonly radarStyle?: 'standard' | 'marker' | 'filled';
3904
4582
  /**
3905
4583
  * Bubble-size scale percentage from `<c:bubbleChart><c:bubbleScale
3906
- * val="N"/>` (0..300, PowerPoint default 100). Scales every bubble's
4584
+ * val="N"/>` (0..300, the reference desktop app's default 100). Scales every bubble's
3907
4585
  * rendered radius proportionally.
3908
4586
  */
3909
4587
  readonly bubbleScale?: number;
@@ -3911,13 +4589,13 @@ interface ReadChartSpec {
3911
4589
  * Whether a bubble's `<c:bubbleSize>` maps to the bubble's area or its
3912
4590
  * width — `<c:bubbleChart><c:sizeRepresents val="area|w"/>` (ECMA-376
3913
4591
  * ST_SizeRepresents; the `'w'` token is surfaced as `'width'`).
3914
- * PowerPoint's default is `'area'`, so radius scales with `sqrt(size)`;
4592
+ * The reference desktop app's default is `'area'`, so radius scales with `sqrt(size)`;
3915
4593
  * `'width'` scales radius linearly with size.
3916
4594
  */
3917
4595
  readonly bubbleSizeRepresents?: 'area' | 'width';
3918
4596
  /**
3919
4597
  * Shade bubbles as spheres — `<c:bubble3D val="1"/>` on each series of the
3920
- * bubble chart (PowerPoint's "3-D Bubble" subtype). Unlike the
4598
+ * bubble chart (the reference desktop app's "3-D Bubble" subtype). Unlike the
3921
4599
  * other 3-D variants it has no camera, so `view3D` does not apply.
3922
4600
  */
3923
4601
  readonly bubble3D?: boolean;
@@ -3927,7 +4605,7 @@ interface ReadChartSpec {
3927
4605
  * 3-D view. Its presence selects the 3-D plot-group element for `bar` /
3928
4606
  * `column` / `line` / `area` / `pie`; for `surface` it only positions the
3929
4607
  * camera. Rejected for every other kind, and for combo charts (a 3-D
3930
- * group cannot share a plot area with another group in PowerPoint).
4608
+ * group cannot share a plot area with another group in the reference desktop app).
3931
4609
  */
3932
4610
  readonly view3D?: ChartView3D;
3933
4611
  /** Shape of 3-D bars / columns (`<c:bar3DChart><c:shape>`). Requires `view3D`. */
@@ -4157,7 +4835,7 @@ type SurfaceChartSpec = Fields<VariantField<'surface'>> & CategoryAxisMode & {
4157
4835
  * A chart this library can draw. Each kind carries only the fields its
4158
4836
  * OOXML element has, so a field the chart cannot show is a compile error
4159
4837
  * rather than a value that serializes into nothing — or into a deck
4160
- * PowerPoint offers to repair.
4838
+ * the reference desktop app offers to repair.
4161
4839
  *
4162
4840
  * `readChartSpec` returns the permissive `ReadChartSpec` instead, because a
4163
4841
  * deck authored elsewhere can combine fields no kind allows; narrow one back
@@ -4172,6 +4850,11 @@ type ChartSpec = ComboChartSpec | Bar3DChartSpec | LineArea3DChartSpec | PieChar
4172
4850
  declare const isChartSpec: (spec: ReadChartSpec) => spec is ChartSpec;
4173
4851
  //#endregion
4174
4852
  //#region src/api/fn/charts.d.ts
4853
+ /**
4854
+ * Adds a native chart to the slide at `x`/`y` with size `w`×`h` (EMU),
4855
+ * built from `spec`, with an embedded workbook so the reference desktop app's "Edit data"
4856
+ * opens the chart's numbers. Returns the chart's graphic-frame shape.
4857
+ */
4175
4858
  declare const addSlideChart: (slide: SlideData, opts: {
4176
4859
  spec: ChartSpec;
4177
4860
  x: Emu;
@@ -4193,13 +4876,13 @@ interface SlideChartData {
4193
4876
  /**
4194
4877
  * Replaces the chart definition on an existing graphic-frame chart
4195
4878
  * shape. Updates the inline `<c:strCache>` / `<c:numCache>` blocks so
4196
- * PowerPoint renders the new data without opening the embedded
4879
+ * the reference desktop app renders the new data without opening the embedded
4197
4880
  * workbook. The shape's geometry (position / size / rotation) is
4198
4881
  * preserved verbatim.
4199
4882
  *
4200
4883
  * The embedded xlsx is re-written too — it's what the "Edit data"
4201
4884
  * affordance opens. The previous workbook is replaced wholesale (no
4202
- * attempt to preserve styles a user added through Excel).
4885
+ * attempt to preserve styles a user added in a spreadsheet app).
4203
4886
  *
4204
4887
  * Pass any `ChartSpec`, including a different `kind` from the
4205
4888
  * original; this acts as "change my column chart to a line chart with
@@ -4336,21 +5019,25 @@ declare const isChartShape: (shape: SlideShapeData) => boolean;
4336
5019
  declare const getTableCells: (table: SlideShapeData) => ReadonlyArray<ReadonlyArray<TableCellData>>;
4337
5020
  /**
4338
5021
  * Reads the table-style GUID from `<a:tbl><a:tblPr><a:tableStyleId>`.
4339
- * PowerPoint uses GUIDs to reference built-in table styles
5022
+ * The reference desktop app uses GUIDs to reference built-in table styles
4340
5023
  * (`{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}` = "Medium Style 2 -
4341
5024
  * Accent 1", etc.) and theme-local styles. Returns `null` when the
4342
5025
  * table doesn't reference one (uses the slide's default style).
4343
5026
  */
4344
5027
  declare const getTableStyleId: (table: SlideShapeData) => string | null;
4345
5028
  /**
4346
- * Writes `<a:tbl><a:tblPr><a:tableStyleId>` to the given GUID. Pass
4347
- * `null` to remove the element so the table falls back to the slide's
4348
- * default style. The GUID must include its curly braces — e.g.
4349
- * `'{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'` (PowerPoint's "Medium
4350
- * Style 2 - Accent 1"). Creates `<a:tblPr>` if absent. Throws when the
4351
- * shape isn't a table graphic frame.
5029
+ * Applies a table style by writing `<a:tbl><a:tblPr><a:tableStyleId>`.
5030
+ * `styleId` is a style GUID with its curly braces — e.g.
5031
+ * `'{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'` — or the English name of one
5032
+ * of the reference desktop app's built-in styles (`'Medium Style 2 - Accent 1'`; see
5033
+ * `BUILTIN_TABLE_STYLES`). For a built-in style, the reference desktop app's definition is
5034
+ * added to `ppt/tableStyles.xml` (creating the part if needed) unless the
5035
+ * deck already defines that GUID, as the reference desktop app does when you pick a style.
5036
+ * Pass `null` to remove the element so the table falls back to the deck's
5037
+ * default style. Creates `<a:tblPr>` if absent. Throws when the shape isn't
5038
+ * a table graphic frame or `styleId` is neither a GUID nor a built-in name.
4352
5039
  */
4353
- declare const setTableStyleId: (table: SlideShapeData, styleId: string | null) => void;
5040
+ declare const setTableStyleId: (table: SlideShapeData, styleId: BuiltinTableStyleName | (string & {}) | null) => void;
4354
5041
  /**
4355
5042
  * Reads the boolean style flags off `<a:tblPr>` — which header /
4356
5043
  * footer rows + columns are banded or emphasised. Mirrors the
@@ -4380,7 +5067,7 @@ declare const getTableStyleFlags: (table: SlideShapeData) => {
4380
5067
  * Sets one or more boolean style flags on `<a:tblPr>`. Only the keys
4381
5068
  * present in `flags` are touched — omitted keys are left at their
4382
5069
  * current state. A flag set to `false` strips the attribute (rather
4383
- * than emitting `="0"`), matching how PowerPoint round-trips defaults.
5070
+ * than emitting `="0"`), matching how the reference desktop app round-trips defaults.
4384
5071
  *
4385
5072
  * See `getTableStyleFlags` for the meaning of each flag.
4386
5073
  */
@@ -4429,7 +5116,7 @@ declare const getTableRowHeights: (table: SlideShapeData) => ReadonlyArray<Emu>;
4429
5116
  * Sets a single column's width on the table grid. Throws on
4430
5117
  * out-of-range column indices or non-table shapes. The total table
4431
5118
  * width is not auto-adjusted — callers are responsible for keeping
4432
- * the sum consistent with the table's `<a:xfrm>` extent if PowerPoint
5119
+ * the sum consistent with the table's `<a:xfrm>` extent if the reference desktop app
4433
5120
  * is to render the table without clipping.
4434
5121
  */
4435
5122
  declare const setTableColumnWidth: (table: SlideShapeData, col: number, width: Emu) => void;
@@ -4495,7 +5182,7 @@ declare const getTableCellSpan: (cell: TableCellData) => {
4495
5182
  * The block's top-left cell `(row, col)` becomes the anchor and carries
4496
5183
  * `gridSpan` (= `colSpan`) / `rowSpan`; the cells it covers are marked
4497
5184
  * `hMerge` / `vMerge` per ECMA-376 §21.1.3.18 (`CT_TableCell`) so the
4498
- * grid stays rectangular while PowerPoint paints only the anchor. This
5185
+ * grid stays rectangular while the reference desktop app paints only the anchor. This
4499
5186
  * is the write counterpart to {@link getTableCellSpan}.
4500
5187
  *
4501
5188
  * Constraints, enforced loudly (these are authoring-boundary inputs):
@@ -4504,7 +5191,7 @@ declare const getTableCellSpan: (cell: TableCellData) => {
4504
5191
  * (a 1×1 "merge" is a no-op the caller didn't mean).
4505
5192
  * - The block must lie fully inside the table grid.
4506
5193
  * - No cell in the block may already participate in another merge —
4507
- * overlapping merges corrupt the grid and trip PowerPoint's repair
5194
+ * overlapping merges corrupt the grid and trip the reference desktop app's repair
4508
5195
  * dialog. Split the existing merge first.
4509
5196
  *
4510
5197
  * The anchor cell's text is preserved. `coveredText: 'keep'` (the default)
@@ -4608,7 +5295,7 @@ declare const setTableCellAnchor: (cell: TableCellData, anchor: "top" | "center"
4608
5295
  /**
4609
5296
  * Reads the cell's inset margins (`<a:tcPr marL marR marT marB>`) in
4610
5297
  * EMU. Each side is `null` when the cell doesn't author it (renderers
4611
- * should fall back to PowerPoint's defaults — 91440 EMU / 0.1 inch
5298
+ * should fall back to the reference desktop app's defaults — 91440 EMU / 0.1 inch
4612
5299
  * for the horizontal margins, 45720 EMU for the vertical).
4613
5300
  */
4614
5301
  declare const getTableCellMargins: (cell: TableCellData) => {
@@ -4620,7 +5307,7 @@ declare const getTableCellMargins: (cell: TableCellData) => {
4620
5307
  /**
4621
5308
  * Sets the cell's inset margins (`<a:tcPr marL marR marT marB>`) in
4622
5309
  * EMU. Sides set to `null` are stripped from the XML so they fall back
4623
- * to PowerPoint's defaults. Creates `<a:tcPr>` if absent.
5310
+ * to the reference desktop app's defaults. Creates `<a:tcPr>` if absent.
4624
5311
  *
4625
5312
  * Pass `null` for the whole `margins` arg to drop every authored side
4626
5313
  * at once.
@@ -4637,7 +5324,7 @@ declare const getTableCellText: (cell: TableCellData) => string;
4637
5324
  interface TableCellParagraph {
4638
5325
  /**
4639
5326
  * Horizontal alignment from `<a:pPr algn>`, or `null` when unset (the
4640
- * cell then inherits PowerPoint's left default).
5327
+ * cell then inherits the reference desktop app's left default).
4641
5328
  */
4642
5329
  readonly align: ParagraphAlignment | null;
4643
5330
  /** Runs / fields / breaks in document order, with their literal `<a:rPr>` format. */
@@ -4694,10 +5381,27 @@ declare const getTableCellFill: (cell: TableCellData) => string | null;
4694
5381
  /** Effective cell appearance after table-style and cell-property inheritance. */
4695
5382
  interface TableCellAppearanceEffective {
4696
5383
  readonly fill: ShapeFill;
5384
+ /** Opacity (0–1) of a solid `fill` whose color carries an alpha transform. */
5385
+ readonly fillOpacity?: number;
4697
5386
  readonly borders: TableCellBorders;
4698
5387
  }
4699
5388
  /** Resolves table-style `tcStyle` fills and borders, then overlays local `tcPr`. */
4700
5389
  declare const getTableCellAppearanceEffective: (pres: PresentationData, cell: TableCellData) => TableCellAppearanceEffective;
5390
+ /** Effective background drawn behind a table's cells. */
5391
+ interface TableBackgroundEffective {
5392
+ readonly fill: ShapeFill;
5393
+ /** Opacity (0–1) of a solid `fill` whose color carries an alpha transform. */
5394
+ readonly fillOpacity?: number;
5395
+ /** Stops (with theme-resolved colors) and direction of a gradient `fill`. */
5396
+ readonly gradient?: ReadGradientFill;
5397
+ }
5398
+ /**
5399
+ * Resolves the table background: a fill on `<a:tblPr>` itself, else the
5400
+ * table style's `<a:tblBg>` (the reference desktop app's Themed Styles use a theme
5401
+ * style-matrix fill there). Cells without a fill of their own show it.
5402
+ * Returns `null` when neither defines one. The `tblBg` effect is not read.
5403
+ */
5404
+ declare const getTableBackgroundEffective: (pres: PresentationData, table: SlideShapeData) => TableBackgroundEffective | null;
4701
5405
  /** Applies a TextFormat to the cell's text, optionally within UTF-16 offsets
4702
5406
  * in getTableCellText (exclusive end). Breaks count as one character; invalid
4703
5407
  * ranges and split-surrogate boundaries throw without changing the text.
@@ -4741,7 +5445,7 @@ declare const getTableCellPosition: (cell: TableCellData) => {
4741
5445
  * spec token (`l`, `ctr`, `r`, `just`, `dist`, `justLow`, `thaiDist`) — so
4742
5446
  * `setTableCellAlignment(cell, 'center')` reads back as `'ctr'`. Returns
4743
5447
  * `null` when the cell has no `<a:txBody>`, or its first paragraph has no
4744
- * valid `algn` attribute (PowerPoint then defaults to `l`). For a
5448
+ * valid `algn` attribute (the reference desktop app then defaults to `l`). For a
4745
5449
  * plain-English name per paragraph, use `getTableCellParagraphs`.
4746
5450
  */
4747
5451
  declare const getTableCellAlignment: (cell: TableCellData) => ParagraphAlignmentToken | null;
@@ -4914,8 +5618,8 @@ type ImageRecolorColor = Color | {
4914
5618
  readonly colorTransforms?: readonly ColorTransform[];
4915
5619
  };
4916
5620
  /**
4917
- * A PowerPoint image recolor operation. Threshold is expressed as a percent
4918
- * (0..100), matching `getShapeImageBiLevelThreshold` and PowerPoint's UI.
5621
+ * An image recolor operation from the reference desktop app. Threshold is expressed as a percent
5622
+ * (0..100), matching `getShapeImageBiLevelThreshold` and the reference desktop app's UI.
4919
5623
  */
4920
5624
  type ImageRecolor = {
4921
5625
  readonly kind: 'none';
@@ -4977,7 +5681,7 @@ declare const findOverlappingShapePairs: (slide: SlideData) => ReadonlyArray<rea
4977
5681
  /**
4978
5682
  * Returns every shape on the slide whose bounding box extends past
4979
5683
  * the slide canvas (`getSlideSize(pres)`). Useful audit helper for
4980
- * catching shapes that PowerPoint will silently render off-screen
5684
+ * catching shapes that the reference desktop app will silently render off-screen
4981
5685
  * or clip on export. Shapes without `<a:xfrm>` bounds are skipped.
4982
5686
  *
4983
5687
  * If the presentation has no slide-size declared, every positioned
@@ -5026,28 +5730,28 @@ declare const findSlidesByLayoutType: (pres: PresentationData, layoutType: Slide
5026
5730
  * `null` for embedded pictures, non-picture shapes, or when the
5027
5731
  * relationship doesn't resolve.
5028
5732
  *
5029
- * PowerPoint emits `r:link` when the user inserts via "Link to file"
5733
+ * The reference desktop app emits `r:link` when the user inserts via "Link to file"
5030
5734
  * instead of "Insert Picture". The bytes live outside the package, so
5031
5735
  * `getShapeImageBytes` can't render them — readers / preview tools
5032
5736
  * should fall back to this URL or a placeholder.
5033
5737
  */
5034
5738
  /**
5035
5739
  * Returns `true` when the picture's `<a:blip>` carries `<a:grayscl/>`
5036
- * — PowerPoint's "Color > Grayscale" recolor preset. Renderers can
5740
+ * — the reference desktop app's "Color > Grayscale" recolor preset. Renderers can
5037
5741
  * project this onto a CSS `filter: grayscale(100%)` or an SVG
5038
5742
  * `<feColorMatrix>` desaturation.
5039
5743
  */
5040
5744
  declare const isShapeImageGrayscale: (shape: SlideShapeData) => boolean;
5041
5745
  /**
5042
5746
  * Returns the threshold of the picture's `<a:blip><a:biLevel thresh="…"/>`
5043
- * effect — PowerPoint's "Color > Black and White" preset. Threshold is
5747
+ * effect — the reference desktop app's "Color > Black and White" preset. Threshold is
5044
5748
  * a percent (0..100); pixels brighter become white, darker become black.
5045
5749
  * Returns `null` when no biLevel transform is set.
5046
5750
  */
5047
5751
  declare const getShapeImageBiLevelThreshold: (shape: SlideShapeData) => number | null;
5048
5752
  /**
5049
5753
  * Reads the picture's duotone color transform from `<a:blip><a:duotone>`.
5050
- * PowerPoint emits two `<a:srgbClr>` (or scheme color) children for a
5754
+ * The reference desktop app emits two `<a:srgbClr>` (or scheme color) children for a
5051
5755
  * two-color duotone effect — typical "Picture Tools › Recolor".
5052
5756
  * By default colors are resolved to RGB for rendering. Pass
5053
5757
  * `{ resolveColors: false }` to preserve authoring color models and
@@ -5098,9 +5802,20 @@ declare const getShapeImageFillBytes: (shape: SlideShapeData) => Uint8Array | nu
5098
5802
  * embedded image or the bytes don't match a recognized signature.
5099
5803
  */
5100
5804
  declare const getShapeImageFormat: (shape: SlideShapeData) => ImageFormat | null;
5805
+ /** One of the reference desktop app's Artistic Effects ([MS-ODRAWXML] CT_PictureEffect, `a14:artistic*`). */
5806
+ type ImageArtisticEffect = 'marker' | 'pencilGrayscale' | 'pencilSketch' | 'lineDrawing' | 'chalkSketch' | 'paintStrokes' | 'paintBrush' | 'glowDiffused' | 'blur' | 'lightScreen' | 'watercolorSponge' | 'filmGrain' | 'mosaicBubbles' | 'glass' | 'cement' | 'texturizer' | 'crisscrossEtching' | 'pastelsSmooth' | 'plasticWrap' | 'cutout' | 'photocopy' | 'glowEdges';
5807
+ /**
5808
+ * Reads the Artistic Effect the reference desktop app applied to a picture or image fill, or
5809
+ * `null` when there is none.
5810
+ *
5811
+ * The reference desktop app stores the effect in the blip's `a14:imgProps` extension next to
5812
+ * a relationship to the original picture (JPEG XR). The embedded picture is
5813
+ * already the effect's result, so renderers draw it as is.
5814
+ */
5815
+ declare const getShapeImageArtisticEffect: (shape: SlideShapeData) => ImageArtisticEffect | null;
5101
5816
  /**
5102
5817
  * Reads the picture or image fill's opacity (0–1 fraction). Returns `null` when no
5103
- * `<a:alphaModFix>` is present (PowerPoint treats absence as fully
5818
+ * `<a:alphaModFix>` is present (the reference desktop app treats absence as fully
5104
5819
  * opaque); returns `1` when an explicit alphaModFix sets full opacity.
5105
5820
  */
5106
5821
  declare const getShapeImageOpacity: (shape: SlideShapeData) => number | null;
@@ -5145,21 +5860,21 @@ declare const getShapeImageContrast: (shape: SlideShapeData) => number | null;
5145
5860
  */
5146
5861
  declare const getShapeImageBrightness: (shape: SlideShapeData) => number | null;
5147
5862
  /**
5148
- * Clears PowerPoint's image color corrections from a picture or image fill.
5863
+ * Clears the reference desktop app's image color corrections from a picture or image fill.
5149
5864
  * This removes grayscale (`grayscl`), duotone, bi-level recolor, and
5150
5865
  * brightness/contrast (`lum`) effects while preserving opacity, media
5151
5866
  * references, and all other known or extension effects.
5152
5867
  */
5153
5868
  declare const resetShapeImageColorEffects: (shape: SlideShapeData) => void;
5154
5869
  /**
5155
- * Applies a PowerPoint image recolor to a picture or image-filled shape.
5870
+ * Applies an image recolor from the reference desktop app to a picture or image-filled shape.
5156
5871
  * `none` removes the recolor while preserving opacity, media references, and
5157
5872
  * unrelated DrawingML effects. Threshold is a percentage from 0 to 100.
5158
5873
  */
5159
5874
  declare const setShapeImageRecolor: (shape: SlideShapeData, recolor: ImageRecolor) => void;
5160
5875
  /**
5161
5876
  * Sets picture or image-fill opacity (0–1; `1` is fully opaque).
5162
- * Pass `null` to restore PowerPoint's default opacity.
5877
+ * Pass `null` to restore the reference desktop app's default opacity.
5163
5878
  * Rejects shapes without an image and values outside `[0, 1]` without changing them.
5164
5879
  */
5165
5880
  declare const setShapeImageOpacity: (shape: SlideShapeData, opacity: number | null) => void;
@@ -5229,10 +5944,36 @@ interface SlideAnimationStep {
5229
5944
  /** `null` for a preset outside the `AnimationEffect` tokens. */
5230
5945
  readonly effect: AnimationEffect | null;
5231
5946
  /**
5232
- * Which edge of the slide a fly comes from or leaves by. `null` for every
5233
- * other effect — the preset states no direction, so neither does this.
5947
+ * Which edge (or corner) of the slide a fly, wipe or peek comes from or
5948
+ * leaves by, or which corner strips start from. `null` for every other
5949
+ * effect — the preset states no direction, so neither does this. The same
5950
+ * goes for the four options below, each `null` unless the effect takes it.
5234
5951
  */
5235
5952
  readonly direction: AnimationDirection | null;
5953
+ /** Blinds, checkerboard, random bars and split: which way the bars run. */
5954
+ readonly orientation: AnimationOrientation | null;
5955
+ /** Shape and split: whether the effect closes in on the centre or opens out of it. */
5956
+ readonly inOut: AnimationInOut | null;
5957
+ /** Shape: the outline the object is revealed or hidden through. */
5958
+ readonly shape: AnimationShape | null;
5959
+ /** Wheel: how many spokes. */
5960
+ readonly spokes: number | null;
5961
+ /** Spin: which way it turns. */
5962
+ readonly spinDirection: AnimationSpinDirection | null;
5963
+ /** Spin: how far it turns, in degrees. */
5964
+ readonly spinDegrees: number | null;
5965
+ /** Grow/Shrink: which axes it scales. */
5966
+ readonly scaleDirection: AnimationScaleDirection | null;
5967
+ /** Grow/Shrink: the size it reaches, in percent of the shape's own. */
5968
+ readonly scalePercent: number | null;
5969
+ /** Transparency: how transparent the shape becomes, 0–100. */
5970
+ readonly transparencyPercent: number | null;
5971
+ /**
5972
+ * The colour emphasis effects: the colour they change to — a theme slot as
5973
+ * `scheme:accent2`, an sRGB value as `#RRGGBB`, with its colour transforms
5974
+ * when it has any.
5975
+ */
5976
+ readonly color: AnimationColor | null;
5236
5977
  readonly presetId: number | null;
5237
5978
  readonly presetClass: string | null;
5238
5979
  /** `'unknown'` when the node type is not one this library models. */
@@ -5250,8 +5991,13 @@ interface SlideAnimationStep {
5250
5991
  * player that finds `'unstated'` there must not choose for the file.
5251
5992
  */
5252
5993
  readonly valueAfterEnd: AnimationValueAfterEnd;
5253
- /** `<p:bldP build="p">` — the text body is revealed paragraph by paragraph. */
5254
- readonly buildByParagraph: boolean;
5994
+ /**
5995
+ * How the effect's build entry reveals the shape's text (`<p:bldP build>`):
5996
+ * as one object (`whole`, or no entry), all paragraphs at once
5997
+ * (`allAtOnce`), one paragraph at a time (`p`), or `'custom'` (`cust`) — a
5998
+ * build the reference desktop app's own Effect Options do not offer.
5999
+ */
6000
+ readonly build: AnimationTextBuild | 'custom';
5255
6001
  readonly buildLevel: number | null;
5256
6002
  /**
5257
6003
  * Which `<p:seq>` the step lives in, named after its `nodeType`. Only
@@ -5293,22 +6039,41 @@ type AnimationSequenceKind = 'mainSeq' | 'interactiveSeq' | 'other';
5293
6039
  * renumbered to stay unique. To clear every animation first, call
5294
6040
  * `clearSlideAnimations`.
5295
6041
  *
5296
- * Supported `effect` tokens:
5297
- *
5298
- * - `'appear'` / `'disappear'` — instant entrance and exit
5299
- * - `'fadeIn'` / `'fadeOut'` — entrance and exit fade
5300
- * - `'flyIn'` / `'flyOut'` — entrance and exit that travel in from, or out
5301
- * to, one edge of the slide. `direction` picks the edge (`'top'`,
5302
- * `'right'`, `'bottom'` — the default — or `'left'`) and is an error for
5303
- * any other effect.
5304
- * - `'zoomIn'` / `'zoomOut'` — entrance that grows from nothing, exit that
5305
- * shrinks back to it, both about the shape's centre
5306
- * - `'spin'` — emphasis: one clockwise turn about the shape's centre,
5307
- * leaving it exactly where it was. It never puts the shape on the slide or
5308
- * takes it off, so a shape that is not already shown stays unshown.
5309
- *
5310
- * `durationMs` defaults to 500ms. `appear` and `disappear` are instantaneous by
5311
- * definition of the preset and write no timed behaviour at all.
6042
+ * `effect` is any entry of the reference desktop app's Entrance, Emphasis and Exit
6043
+ * galleries (see `AnimationEffect`), written exactly as the reference desktop app writes it:
6044
+ * the same preset numbers and the same behaviours, so the deck plays the same
6045
+ * in the reference desktop app as an effect picked from its gallery.
6046
+ *
6047
+ * Effect Options are the options the reference desktop app offers for the preset:
6048
+ *
6049
+ * - `direction` — `'flyIn'` / `'flyOut'` take any edge or corner of the
6050
+ * slide (`'bottom'` by default); `'wipe…'` and `'peek…'` one of the four
6051
+ * edges; `'strips…'` one of the four corners (`'bottomLeft'` by default).
6052
+ * - `orientation` — blinds, random bars and checkerboard (`'horizontal'`)
6053
+ * and split (`'vertical'`).
6054
+ * - `inOut` — shape and split: close in on the centre (`'in'`) or open out
6055
+ * of it (`'out'`). The reference desktop app's Shape exit defaults to `'out'`.
6056
+ * - `shape` — `'circle'` (the default), `'box'`, `'diamond'` or `'plus'`.
6057
+ * - `spokes` — wheel: 1 (the default), 2, 3, 4 or 8.
6058
+ * - `spinDirection` and `spinDegrees` — spin: `'clockwise'` (the default)
6059
+ * or `'counterclockwise'`, through any positive angle (360 by default).
6060
+ * - `scaleDirection` and `scalePercent` — grow/shrink: `'both'` axes (the
6061
+ * default), `'horizontal'` or `'vertical'`, to any positive size (150 %).
6062
+ * - `transparencyPercent` — transparency: 0–100 (50 by default).
6063
+ * - `color` — the colour emphasis effects (fill, font, line, brush and
6064
+ * object colour, colour pulse, grow with colour): a theme slot or
6065
+ * `#RRGGBB`, optionally with colour transforms. Accent 2 by default, and
6066
+ * Background 1 for colour pulse.
6067
+ *
6068
+ * An option passed for an effect that does not take it is an error rather
6069
+ * than a no-op.
6070
+ *
6071
+ * `durationMs` defaults to the reference desktop app's default for the preset
6072
+ * (`defaultAnimationDurationMs`). An effect made of several behaviours — a
6073
+ * Bounce, a Teeter — is scaled as a whole, the way the reference desktop app's Duration box
6074
+ * scales it. `appear` and `disappear` are instantaneous and write no timed
6075
+ * behaviour; `transparency` and `boldReveal` hold until the slide ends and
6076
+ * take no duration.
5312
6077
  *
5313
6078
  * `start` decides where the effect lands. The default `'click'` gives it a
5314
6079
  * click stop of its own, so the viewer sees it on the next click.
@@ -5318,16 +6083,19 @@ type AnimationSequenceKind = 'mainSeq' | 'interactiveSeq' | 'other';
5318
6083
  * slide appears. `delayMs` waits that long once the start condition is met.
5319
6084
  *
5320
6085
  * `'afterPrevious'` throws when the slide's timing does not say when the effect
5321
- * before it ends — it runs indefinitely, states no duration, repeats, or starts
5322
- * from another node rather than at a fixed offset. The slide is left untouched;
5323
- * `'click'` and `'withPrevious'` need no such measurement.
5324
- *
5325
- * `byParagraph` reveals the shape's text one paragraph at a time rather than
5326
- * animating the shape as a whole: one effect per paragraph, each with the same
5327
- * `start`, so the default `'click'` advances a paragraph per click. They share
5328
- * a single `<p:bldP build="p">`, which is how PowerPoint and Google Slides both
5329
- * present the build as one animation. `getSlideAnimations` reports each
5330
- * paragraph as its own step, targeting a paragraph range.
6086
+ * before it ends — it runs indefinitely, states no duration, repeats, runs
6087
+ * letter by letter, or starts from another node rather than at a fixed offset.
6088
+ * The slide is left untouched; `'click'` and `'withPrevious'` need no such
6089
+ * measurement.
6090
+ *
6091
+ * `build` is the reference desktop app's Effect Options "Sequence". `'asOneObject'` (the
6092
+ * default) animates the shape with its text as one effect. `'allAtOnce'` and
6093
+ * `'byParagraph'` give every paragraph its own effect: all of them starting
6094
+ * together, or each on its own `start` — so the default `'click'` advances a
6095
+ * paragraph per click. They share a single `<p:bldP>`, which is how the reference desktop app
6096
+ * and Google Slides both present the build as one animation.
6097
+ * `getSlideAnimations` reports each paragraph as its own step, targeting a
6098
+ * paragraph range.
5331
6099
  *
5332
6100
  * Reading the result back, including the order and start condition of every
5333
6101
  * effect on the slide, is `getSlideAnimations`.
@@ -5337,8 +6105,7 @@ declare const setShapeAnimation: (shape: SlideShapeData, opts: AnimationOptions)
5337
6105
  * Returns the animation effect bound to this shape via the slide's
5338
6106
  * `<p:timing>` tree, or `null` when the shape has none. A shape carrying
5339
6107
  * several effects reports the first one in document order. Presets outside
5340
- * the four `AnimationEffect` tokens are reported as `null` rather than
5341
- * guessed at.
6108
+ * the `AnimationEffect` tokens are reported as `null` rather than guessed at.
5342
6109
  */
5343
6110
  declare const getShapeAnimation: (shape: SlideShapeData) => AnimationEffect | null;
5344
6111
  /**
@@ -5352,7 +6119,7 @@ declare const getSlideAnimations: (slide: SlideData) => readonly SlideAnimationS
5352
6119
  * effect (i.e. `getShapeAnimation(shape)` is not `null`). Pair to
5353
6120
  * `slideHasAnimations`. Useful for audit reports — "which shapes on
5354
6121
  * this slide actually animate?" before exporting to a video pipeline
5355
- * that doesn't honor PowerPoint's timing tree.
6122
+ * that doesn't honor the reference desktop app's timing tree.
5356
6123
  */
5357
6124
  declare const findShapesWithAnimation: (slide: SlideData) => ReadonlyArray<SlideShapeData>;
5358
6125
  /** Removes every animation on the slide, keeping its media play controls. */
@@ -5468,7 +6235,7 @@ declare const getShapeRunHyperlink: (shape: SlideShapeData, paragraphIndex: numb
5468
6235
  /**
5469
6236
  * Reads the tooltip text on the shape's `<a:hlinkClick tooltip="…"/>`.
5470
6237
  * Returns `null` when no hyperlink is set or the link doesn't author
5471
- * a tooltip. Tooltips show up in PowerPoint when the user hovers over
6238
+ * a tooltip. Tooltips show up in the reference desktop app when the user hovers over
5472
6239
  * a linked shape in slide-show mode.
5473
6240
  *
5474
6241
  * Scans run-level `<a:rPr><a:hlinkClick>` first (where
@@ -5502,7 +6269,7 @@ declare const getShapeRunClickAction: (shape: SlideShapeData, paragraphIndex: nu
5502
6269
  declare const setParagraphAlignment: (shape: SlideShapeData | TableCellData, paragraphIndex: number, align: ParagraphAlignment) => void;
5503
6270
  /**
5504
6271
  * Sets the paragraph's nesting level (`<a:pPr lvl="N"/>`). Levels are
5505
- * 0-indexed; PowerPoint accepts 0 through 8. Pass `0` to clear an
6272
+ * 0-indexed; the reference desktop app accepts 0 through 8. Pass `0` to clear an
5506
6273
  * existing level — `<a:pPr lvl="0"/>` is the same as omitting the attr.
5507
6274
  * Indents matching the previous level's default bullet pair follow the level;
5508
6275
  * other indent values are preserved.
@@ -5534,7 +6301,7 @@ declare const setParagraphLevel: (shape: SlideShapeData | TableCellData, paragra
5534
6301
  declare const getParagraphAlignment: (shape: SlideShapeData | TableCellData, paragraphIndex: number) => ParagraphAlignmentToken | null;
5535
6302
  /**
5536
6303
  * Reads the paragraph's nesting level (`lvl` attribute), or `0` when
5537
- * absent — PowerPoint's default. A UTF-16 range returns the levels of all
6304
+ * absent — the reference desktop app's default. A UTF-16 range returns the levels of all
5538
6305
  * touched paragraphs in order. Invalid indices or ranges throw RangeError.
5539
6306
  */
5540
6307
  declare function getParagraphLevel(shape: SlideShapeData | TableCellData, paragraphIndex: number): number;
@@ -5544,7 +6311,7 @@ declare function getParagraphLevel(shape: SlideShapeData | TableCellData, range:
5544
6311
  }): number[];
5545
6312
  /**
5546
6313
  * Sets the spacing before and/or after a paragraph, in points (where
5547
- * a "point" is 1/72 inch). PowerPoint stores these as hundredths of a
6314
+ * a "point" is 1/72 inch). The reference desktop app stores these as hundredths of a
5548
6315
  * point inside `<a:pPr><a:spcBef>/<a:spcAft><a:spcPts val="…"/>` —
5549
6316
  * the helper converts.
5550
6317
  *
@@ -5570,7 +6337,7 @@ declare const getParagraphSpacing: (shape: SlideShapeData | TableCellData, parag
5570
6337
  /**
5571
6338
  * Reads the paragraph's left / right / first-line indents from
5572
6339
  * `<a:pPr marL="…" marR="…" indent="…"/>`. Each is in EMU (matching
5573
- * PowerPoint's internal storage); positive means a positive indent,
6340
+ * the reference desktop app's internal storage); positive means a positive indent,
5574
6341
  * negative `indent` is a hanging indent (typical for bullets).
5575
6342
  *
5576
6343
  * Returns `null` for sides the paragraph doesn't set (those inherit
@@ -5593,7 +6360,7 @@ declare const setParagraphIndent: (shape: SlideShapeData | TableCellData, paragr
5593
6360
  firstLineEmu?: number | null;
5594
6361
  }) => void;
5595
6362
  /**
5596
- * Reads the paragraph's `<a:lnSpc>` line spacing. PowerPoint stores
6363
+ * Reads the paragraph's `<a:lnSpc>` line spacing. The reference desktop app stores
5597
6364
  * line spacing two ways:
5598
6365
  *
5599
6366
  * - Multiple of the natural line height — `<a:spcPct val="150000"/>`
@@ -5701,43 +6468,6 @@ declare const setParagraphTabs: (shape: SlideShapeData | TableCellData, paragrap
5701
6468
  defaultTabSizeEmu?: number | null;
5702
6469
  }) => void;
5703
6470
  //#endregion
5704
- //#region src/api/fn/shape-color.d.ts
5705
- /**
5706
- * Resolves a DrawingML color element (`<a:srgbClr>` / `<a:schemeClr>` /
5707
- * `<a:sysClr>` / `<a:prstClr>`) with all its `<a:lumMod>` / `<a:tint>` /
5708
- * `<a:shade>` / `<a:satMod>` etc. transform children applied. Returns
5709
- * `null` when the color is a scheme token and no theme is supplied to
5710
- * resolve it.
5711
- *
5712
- * Exposed because both run-format and fill-format code paths need to
5713
- * apply the same transform pipeline; keeping a single implementation
5714
- * means future spec-coverage additions only have to land in one place.
5715
- */
5716
- declare const resolveDrawingColor: (colorEl: XmlElement, theme: PresentationTheme | null, clrMap?: Readonly<Record<string, string>> | null) => string | null;
5717
- /**
5718
- * Resolves the opacity a DrawingML color element carries through its
5719
- * `<a:alpha>` / `<a:alphaMod>` / `<a:alphaOff>` children (ECMA-376
5720
- * §20.1.2.3.1–3) to a `0`–`1` fraction, applied in document order from a
5721
- * fully opaque base. Returns `null` when the element has no alpha
5722
- * transform — PowerPoint paints that opaque, but callers can still tell
5723
- * "unspecified" apart from an explicit `1`.
5724
- *
5725
- * Kept separate from `resolveDrawingColor` because alpha never changes the
5726
- * `#RRGGBB`; OOXML encodes the two independently and renderers emit the
5727
- * opacity next to the color (`fill-opacity` / `stroke-opacity`).
5728
- */
5729
- declare const resolveDrawingColorOpacity: (colorEl: XmlElement) => number | null;
5730
- /**
5731
- * Reads back the format of a single run. Returns `null` when the run
5732
- * has no `<a:rPr>` (it inherits its format from the paragraph /
5733
- * layout / master). Boolean attributes that are explicitly `"0"`
5734
- * decode to `false`.
5735
- *
5736
- * Use `getShapeRunFormatEffective` if you want the resolved format
5737
- * after walking the placeholder / lstStyle / master inheritance chain.
5738
- */
5739
- declare const getShapeRunFormat: (shape: SlideShapeData, paragraphIndex: number, runIndex: number) => ReadTextFormat | null;
5740
- //#endregion
5741
6471
  //#region src/api/fn/shape-removal-zorder.d.ts
5742
6472
  /**
5743
6473
  * Copies a shape into `targetSlide`, including nested shapes and relationships.
@@ -5772,13 +6502,6 @@ declare const getShapeZIndex: (shape: SlideShapeData) => number;
5772
6502
  declare const setShapeZIndex: (shape: SlideShapeData | readonly SlideShapeData[], toIndex: number) => void;
5773
6503
  /** Move one shape or a selection one step backward among siblings. */
5774
6504
  declare const sendShapeBackward: (shape: SlideShapeData | readonly SlideShapeData[]) => void;
5775
- /**
5776
- * Removes the shape from its slide's shape tree. Subsequent property
5777
- * reads on this handle reflect the stale snapshot — discard it after.
5778
- *
5779
- * Removing a picture does NOT delete the underlying media part — it
5780
- * may be referenced from other slides.
5781
- */
5782
6505
  /**
5783
6506
  * Removes every shape (sp / pic / cxnSp / graphicFrame / grpSp) from
5784
6507
  * the slide's `<p:spTree>`. The required `<p:nvGrpSpPr>` and
@@ -5788,6 +6511,13 @@ declare const sendShapeBackward: (shape: SlideShapeData | readonly SlideShapeDat
5788
6511
  * Useful for "start this slide over but keep its layout binding."
5789
6512
  */
5790
6513
  declare const clearSlideShapes: (slide: SlideData) => void;
6514
+ /**
6515
+ * Removes the shape from its slide's shape tree. Subsequent property
6516
+ * reads on this handle reflect the stale snapshot — discard it after.
6517
+ *
6518
+ * Removing a picture does NOT delete the underlying media part — it
6519
+ * may be referenced from other slides.
6520
+ */
5791
6521
  declare const removeShape: (shape: SlideShapeData) => void;
5792
6522
  //#endregion
5793
6523
  //#region src/api/fn/shape-authoring.d.ts
@@ -5838,7 +6568,7 @@ declare const addSlideLine: (slide: SlideData, opts: {
5838
6568
  }) => SlideShapeData;
5839
6569
  /**
5840
6570
  * Adds a table to the slide. Cells render as plain text; `firstRow` /
5841
- * `bandRow` flags drive PowerPoint's banded-header look unless options say
6571
+ * `bandRow` flags drive the reference desktop app's banded-header look unless options say
5842
6572
  * otherwise.
5843
6573
  *
5844
6574
  * Cell text color is baked from the deck's resolved body-text color so the
@@ -5887,7 +6617,7 @@ declare const addSlideImage: (slide: SlideData, bytes: Uint8Array, opts: {
5887
6617
  //#endregion
5888
6618
  //#region src/api/fn/layout-edit.d.ts
5889
6619
  /**
5890
- * Renames the layout. This is the name PowerPoint shows in the
6620
+ * Renames the layout. This is the name the reference desktop app shows in the
5891
6621
  * "New Slide" gallery and in the layout pane, so it is what an author
5892
6622
  * picks a layout by — it is not an identifier, and nothing references
5893
6623
  * it.
@@ -5912,13 +6642,34 @@ declare const clearSlideLayoutBackground: (layout: SlideLayoutData) => void;
5912
6642
  *
5913
6643
  * Slides inherit the new box wherever they have not pushed the
5914
6644
  * placeholder around themselves: a slide placeholder carrying its own
5915
- * `<a:xfrm>` keeps it, exactly as PowerPoint behaves when you edit a
6645
+ * `<a:xfrm>` keeps it, exactly as the reference desktop app behaves when you edit a
5916
6646
  * layout under slides that were already nudged.
5917
6647
  */
5918
6648
  declare const setSlideLayoutPlaceholderBounds: (layout: SlideLayoutData, index: number, bounds: ShapeBounds) => void;
5919
6649
  //#endregion
6650
+ //#region src/api/fn/_part-placeholders.d.ts
6651
+ /**
6652
+ * Read-only view of one placeholder on a slide layout or master. Surfaces the
6653
+ * fields a slide-author cares about when binding a slide to a layout: which
6654
+ * slot is for the title, which is for the body, etc.
6655
+ */
6656
+ interface SlideLayoutPlaceholder {
6657
+ /** `<p:ph type="...">`. `null` when omitted — the spec default is `obj`. */
6658
+ readonly type: string | null;
6659
+ /** `<p:ph idx="...">`. `null` when omitted — spec default is `0`. */
6660
+ readonly idx: number | null;
6661
+ /** `<p:cNvPr name="...">` — what the reference desktop app shows in the selection pane. */
6662
+ readonly name: string;
6663
+ /**
6664
+ * Position + size in EMU. A layout placeholder with no `<a:xfrm>` of its
6665
+ * own inherits them from the master. `null` when the placeholder has no
6666
+ * explicit transform.
6667
+ */
6668
+ readonly bounds: ShapeBounds | null;
6669
+ }
6670
+ //#endregion
5920
6671
  //#region src/api/fn/layouts.d.ts
5921
- /** PowerPoint's user-visible layout name. */
6672
+ /** The reference desktop app's user-visible layout name. */
5922
6673
  declare const getSlideLayoutName: (layout: SlideLayoutData) => string;
5923
6674
  /**
5924
6675
  * Returns the package part name (e.g. `/ppt/slideLayouts/slideLayout3.xml`)
@@ -5932,26 +6683,6 @@ declare const getSlideLayoutPartName: (layout: SlideLayoutData) => string;
5932
6683
  * `findSlideByPartName` for layouts.
5933
6684
  */
5934
6685
  declare const findSlideLayoutByPartName: (pres: PresentationData, partName: string) => SlideLayoutData | null;
5935
- /**
5936
- * Read-only view of one placeholder on a slide layout. Surfaces the
5937
- * three fields a slide-author cares about when binding a slide to a
5938
- * layout: which slot is for the title, which is for the body, etc.
5939
- */
5940
- interface SlideLayoutPlaceholder {
5941
- /** `<p:ph type="...">`. `null` when omitted — spec default is `body`. */
5942
- readonly type: string | null;
5943
- /** `<p:ph idx="...">`. `null` when omitted — spec default is `0`. */
5944
- readonly idx: number | null;
5945
- /** `<p:cNvPr name="...">` — what PowerPoint shows in the selection pane. */
5946
- readonly name: string;
5947
- /**
5948
- * Layout-defined position + size in EMU. A slide placeholder with no
5949
- * `<a:xfrm>` of its own inherits these. `null` when the layout
5950
- * placeholder also lacks an explicit transform (rare — usually the
5951
- * master defines it then).
5952
- */
5953
- readonly bounds: ShapeBounds | null;
5954
- }
5955
6686
  /**
5956
6687
  * Enumerates the placeholder shapes on a slide layout. Non-placeholder
5957
6688
  * shapes (decorative rectangles, watermarks added to the layout) are
@@ -5971,7 +6702,7 @@ declare const getSlideLayoutPlaceholders: (layout: SlideLayoutData) => ReadonlyA
5971
6702
  * String matching is **case-sensitive** and exact: `findSlideLayout(pres,
5972
6703
  * 'Blank')` matches a layout named `"Blank"` but not `"blank"`. The
5973
6704
  * user-visible name is also locale-dependent (a deck authored in a
5974
- * non-English PowerPoint localizes `"Blank"`), so prefer
6705
+ * The reference desktop app localizes `"Blank"`), so prefer
5975
6706
  * {@link findSlideLayoutByType} — which matches the locale-stable
5976
6707
  * `<p:sldLayout type="…">` token (`'blank'`, `'title'`, `'obj'`, …) —
5977
6708
  * when you need a robust lookup. Pass a `RegExp` with the `i` flag here
@@ -5990,7 +6721,7 @@ declare const findLayoutsWithPlaceholderType: (pres: PresentationData, type: Pla
5990
6721
  * token. Unlike `findSlideLayout` (which matches the user-visible
5991
6722
  * name, and is therefore locale-sensitive), this matches the spec
5992
6723
  * token — `title`, `obj`, `twoObj`, `blank`, etc. — and is stable
5993
- * across PowerPoint UI languages.
6724
+ * across the reference desktop app's UI languages.
5994
6725
  */
5995
6726
  declare const findSlideLayoutByType: (pres: PresentationData, layoutType: SlideLayoutType | string) => SlideLayoutData | null;
5996
6727
  /**
@@ -6027,12 +6758,135 @@ declare const getUnusedSlideLayouts: (pres: PresentationData) => ReadonlyArray<S
6027
6758
  declare const getSlideLayoutUsageCountsByType: (pres: PresentationData) => Readonly<Record<string, number>>;
6028
6759
  declare const getSlideLayoutUsageCounts: (pres: PresentationData) => Readonly<Record<string, number>>;
6029
6760
  //#endregion
6761
+ //#region src/api/fn/slide-masters.d.ts
6762
+ /** The master's layouts, in the order the reference desktop app's Slide Master pane lists them. */
6763
+ declare const getSlideMasterLayouts: (pres: PresentationData, master: string) => ReadonlyArray<SlideLayoutData>;
6764
+ /**
6765
+ * The master's own placeholders (title, body, date, footer, slide number) and
6766
+ * where it puts them. A layout placeholder without a transform of its own sits
6767
+ * where the master's placeholder of the same type does.
6768
+ */
6769
+ declare const getSlideMasterPlaceholders: (pres: PresentationData, master: string) => ReadonlyArray<SlideLayoutPlaceholder>;
6770
+ /**
6771
+ * The master's name, as the reference desktop app shows it in Slide Master view ("<theme
6772
+ * name> Slide Master"). The reference desktop app keeps it as the name of the master's theme
6773
+ * (`<a:theme name>`), not in the master part, so renaming a master renames its
6774
+ * theme.
6775
+ */
6776
+ declare const getSlideMasterName: (pres: PresentationData, master: string) => string;
6777
+ /**
6778
+ * Whether the master is preserved (`<p:sldMaster preserve="1">`): the reference desktop app
6779
+ * deletes a master that is not preserved once no slide uses it.
6780
+ */
6781
+ declare const isSlideMasterPreserved: (pres: PresentationData, master: string) => boolean;
6782
+ /** Renames the master (its theme; see `getSlideMasterName`). */
6783
+ declare const setSlideMasterName: (pres: PresentationData, master: string, name: string) => void;
6784
+ /** Sets or clears Preserve Master. */
6785
+ declare const setSlideMasterPreserved: (pres: PresentationData, master: string, preserved: boolean) => void;
6786
+ /**
6787
+ * Insert Slide Master: adds the reference desktop app's default master, with its own
6788
+ * copy of the default theme named "Custom Design" and the eleven default
6789
+ * layouts, after the existing masters. The master is preserved, as the reference desktop app
6790
+ * marks a master it inserts. Returns the new master's part name.
6791
+ */
6792
+ declare const addSlideMaster: (pres: PresentationData) => string;
6793
+ /**
6794
+ * Deletes a master with its layouts and, when nothing else uses it, its theme.
6795
+ * Like the reference desktop app's Delete, this refuses (throws) while any slide uses one of
6796
+ * the master's layouts, and for the presentation's only master.
6797
+ */
6798
+ declare const removeSlideMaster: (pres: PresentationData, master: string) => void;
6799
+ /**
6800
+ * Insert Layout: adds the reference desktop app's "Custom Layout" — a title and the date,
6801
+ * footer and slide-number placeholders — to `master`, at `index` in its layout
6802
+ * list (the end by default). Repeats are named "1_Custom Layout", and so on.
6803
+ */
6804
+ declare const addSlideLayout: (pres: PresentationData, master: string, options?: {
6805
+ index?: number;
6806
+ }) => SlideLayoutData;
6807
+ /**
6808
+ * Deletes a layout. Like the reference desktop app's Delete, this refuses (throws) while any
6809
+ * slide uses the layout, and for a master's only layout.
6810
+ */
6811
+ declare const removeSlideLayout: (layout: SlideLayoutData) => void;
6812
+ /**
6813
+ * Master Layout: removes one of the master's five placeholders, or puts it
6814
+ * back where the reference desktop app's default master has it.
6815
+ */
6816
+ declare const setSlideMasterPlaceholderIncluded: (pres: PresentationData, master: string, type: MasterPlaceholderType, included: boolean) => void;
6817
+ /** The layout's Title checkbox: removes its title, or adds one that follows the master's. */
6818
+ declare const setSlideLayoutTitleIncluded: (layout: SlideLayoutData, included: boolean) => void;
6819
+ /**
6820
+ * The layout's Footers checkbox: removes its date, footer and slide-number
6821
+ * placeholders, or adds whichever are missing (they follow the master's).
6822
+ */
6823
+ declare const setSlideLayoutFootersIncluded: (layout: SlideLayoutData, included: boolean) => void;
6824
+ /**
6825
+ * Hide Background Graphics on a layout (`showMasterSp="0"`): slides on it stop
6826
+ * showing the master's decorative shapes; the layout's own shapes stay.
6827
+ */
6828
+ declare const setSlideLayoutBackgroundGraphicsHidden: (layout: SlideLayoutData, hidden: boolean) => void;
6829
+ /**
6830
+ * Insert Placeholder: draws a placeholder of `kind` on the layout at `bounds`.
6831
+ * Slides added on the layout get the placeholder; content and text
6832
+ * placeholders carry the master's five prompt levels, the others their
6833
+ * kind's prompt ("Picture", "Chart", …). Returns the placeholder's index in
6834
+ * `getSlideLayoutPlaceholders`.
6835
+ */
6836
+ declare const addSlideLayoutPlaceholder: (layout: SlideLayoutData, kind: LayoutPlaceholderKind, bounds: ShapeBounds) => number;
6837
+ //#endregion
6838
+ //#region src/api/fn/page-masters.d.ts
6839
+ /**
6840
+ * The notes master's placeholders (header, date, slide image, notes body,
6841
+ * footer, slide number) and where they sit on the page, or `null` when the
6842
+ * presentation has no notes master.
6843
+ */
6844
+ declare const getNotesMasterPlaceholders: (pres: PresentationData) => ReadonlyArray<SlideLayoutPlaceholder> | null;
6845
+ /**
6846
+ * The handout master's placeholders (header, date, footer, page number), or
6847
+ * `null` when the presentation has no handout master.
6848
+ */
6849
+ declare const getHandoutMasterPlaceholders: (pres: PresentationData) => ReadonlyArray<SlideLayoutPlaceholder> | null;
6850
+ /**
6851
+ * The Notes Master tab's placeholder checkboxes: removes a placeholder from
6852
+ * the notes master, or puts it back where the reference desktop app's default puts it.
6853
+ * Creates the default notes master when the presentation has none.
6854
+ */
6855
+ declare const setNotesMasterPlaceholderIncluded: (pres: PresentationData, type: NotesMasterPlaceholderType, included: boolean) => void;
6856
+ /** The Handout Master tab's placeholder checkboxes; see `setNotesMasterPlaceholderIncluded`. */
6857
+ declare const setHandoutMasterPlaceholderIncluded: (pres: PresentationData, type: HandoutMasterPlaceholderType, included: boolean) => void;
6858
+ /**
6859
+ * The notes and handout page (`<p:notesSz>`), in EMU. Notes pages, handouts
6860
+ * and the outline print on it; it is portrait unless it is wider than tall.
6861
+ */
6862
+ declare const getNotesPageSize: (pres: PresentationData) => {
6863
+ width: Emu;
6864
+ height: Emu;
6865
+ };
6866
+ /**
6867
+ * Handout Orientation / Notes Page Orientation. Both turn the one notes page
6868
+ * (`<p:notesSz>`) that notes pages and handouts share, and the reference desktop app moves
6869
+ * the notes master, the handout master and every notes page with it.
6870
+ */
6871
+ declare const setNotesPageOrientation: (pres: PresentationData, orientation: "portrait" | "landscape") => void;
6872
+ /** The Handout Master tab's Slides Per Page choices (`'outline'` is Slide Outline). */
6873
+ type HandoutSlidesPerPage = 1 | 2 | 3 | 4 | 6 | 9 | 'outline';
6874
+ /**
6875
+ * How many slides the handout master lays out per page. The handout master
6876
+ * part has nowhere to keep it; the schema's only home for a handout layout is
6877
+ * the print settings' `<p:prnPr prnWhat>` in the presentation properties, so
6878
+ * that is where it is read from (six when it names no handout layout).
6879
+ */
6880
+ declare const getHandoutSlidesPerPage: (pres: PresentationData) => HandoutSlidesPerPage;
6881
+ /** Sets the handout's slides per page; see `getHandoutSlidesPerPage`. */
6882
+ declare const setHandoutSlidesPerPage: (pres: PresentationData, slidesPerPage: HandoutSlidesPerPage) => void;
6883
+ //#endregion
6030
6884
  //#region src/api/fn/properties.d.ts
6031
6885
  /**
6032
6886
  * Document-level metadata from `/docProps/core.xml` (Open Packaging
6033
- * Conventions). Surfaces the fields PowerPoint, Keynote, and
6887
+ * Conventions). Surfaces the fields the reference desktop app, Keynote, and
6034
6888
  * everyone else exchange via OPC core-properties — these are the
6035
- * values shown in PowerPoint's "File › Properties" / "Info" panel.
6889
+ * values shown in the reference desktop app's "File › Properties" / "Info" panel.
6036
6890
  */
6037
6891
  interface CoreProperties {
6038
6892
  readonly title: string | null;
@@ -6087,7 +6941,7 @@ declare const getCoreProperties: (pres: PresentationData) => CoreProperties | nu
6087
6941
  * override) if the package didn't have one.
6088
6942
  *
6089
6943
  * Note: setting `created` / `modified` requires an ISO-8601 timestamp
6090
- * string (e.g. `'2026-05-15T12:34:56Z'`). PowerPoint expects the
6944
+ * string (e.g. `'2026-05-15T12:34:56Z'`). The reference desktop app expects the
6091
6945
  * `xsi:type="dcterms:W3CDTF"` attribute on these elements but readers
6092
6946
  * we tested all accept missing-attribute output too; this helper
6093
6947
  * therefore omits the attribute for simplicity.
@@ -6095,13 +6949,13 @@ declare const getCoreProperties: (pres: PresentationData) => CoreProperties | nu
6095
6949
  declare const setCoreProperties: (pres: PresentationData, values: Partial<CoreProperties>) => void;
6096
6950
  /**
6097
6951
  * Selected string fields from `/docProps/app.xml`
6098
- * (extended-properties / "app props"). PowerPoint exposes these
6952
+ * (extended-properties / "app props"). The reference desktop app exposes these
6099
6953
  * under File › Info / Properties as the "Origin" and "Related
6100
6954
  * People" groups.
6101
6955
  *
6102
6956
  * Numeric / derived fields (`Slides`, `Words`, `Paragraphs`, …) are
6103
- * intentionally omitted — they're recomputed by PowerPoint on save
6104
- * and reading them tends to lie about decks edited outside Office.
6957
+ * intentionally omitted — they're recomputed by the reference desktop app on save
6958
+ * and reading them tends to lie about decks edited in other apps.
6105
6959
  */
6106
6960
  interface ExtendedProperties {
6107
6961
  readonly application: string | null;
@@ -6131,7 +6985,7 @@ declare const setExtendedProperties: (pres: PresentationData, values: Partial<Ex
6131
6985
  //#endregion
6132
6986
  //#region src/api/fn/thumbnail.d.ts
6133
6987
  /**
6134
- * The package's thumbnail image, when present. PowerPoint, the OS
6988
+ * The package's thumbnail image, when present. The reference desktop app, the OS
6135
6989
  * file picker, and SharePoint preview decks via this. Format is
6136
6990
  * what's encoded in the thumbnail part — usually JPEG.
6137
6991
  */
@@ -6389,7 +7243,7 @@ interface AllShapesEntry {
6389
7243
  declare const getAllShapes: (pres: PresentationData) => ReadonlyArray<AllShapesEntry>;
6390
7244
  /**
6391
7245
  * Returns `true` when the slide carries `show="0"` on its root
6392
- * `<p:sld>` element. PowerPoint hides such slides from the slideshow
7246
+ * `<p:sld>` element. The reference desktop app hides such slides from the slideshow
6393
7247
  * but keeps them in the editing surface.
6394
7248
  */
6395
7249
  declare const isSlideHidden: (slide: SlideData) => boolean;
@@ -6399,7 +7253,7 @@ declare const isSlideBackgroundGraphicsHidden: (slide: SlideData) => boolean;
6399
7253
  declare const isSlideLayoutBackgroundGraphicsHidden: (layout: SlideLayoutData) => boolean;
6400
7254
  /**
6401
7255
  * Hide inherited decoration without removing shapes or changing background fills.
6402
- * PowerPoint's Hide Background Graphics suppresses layout decoration as well as
7256
+ * The reference desktop app's Hide Background Graphics suppresses layout decoration as well as
6403
7257
  * master shapes, despite the attribute's name. Slide placeholders remain visible.
6404
7258
  */
6405
7259
  declare const setSlideBackgroundGraphicsHidden: (slide: SlideData, hidden: boolean) => void;
@@ -6415,7 +7269,7 @@ declare const setSlideBackgroundGraphicsHidden: (slide: SlideData, hidden: boole
6415
7269
  declare const slideHasAnimations: (slide: SlideData) => boolean;
6416
7270
  /**
6417
7271
  * Toggles the slide's visibility in the slideshow. Hiding adds
6418
- * `show="0"`; showing removes the attribute (PowerPoint treats absence
7272
+ * `show="0"`; showing removes the attribute (the reference desktop app treats absence
6419
7273
  * as the default `show="1"`).
6420
7274
  */
6421
7275
  declare const setSlideHidden: (slide: SlideData, hidden: boolean) => void;
@@ -6488,7 +7342,7 @@ declare const addContentSlide: (pres: PresentationData, opts: {
6488
7342
  /**
6489
7343
  * Sugar over `addSlide` + `setSlideTitle` for the section-divider
6490
7344
  * pattern. Picks `<p:sldLayout type="secHead">` when present (the
6491
- * PowerPoint "Section Header" layout); otherwise falls back to a
7345
+ * the reference desktop app's "Section Header" layout); otherwise falls back to a
6492
7346
  * `title`-typed layout or the first available layout.
6493
7347
  */
6494
7348
  declare const addSectionHeaderSlide: (pres: PresentationData, title: string) => SlideData;
@@ -6520,7 +7374,7 @@ declare const addSlide: (pres: PresentationData, options: {
6520
7374
  *
6521
7375
  * Media parts are intentionally NOT cleaned up — they may be shared
6522
7376
  * with other slides. The freed `sldId` is NOT reused on subsequent
6523
- * `addSlide` calls (PowerPoint quirk, see plan §Risks).
7377
+ * `addSlide` calls (the reference desktop app's quirk, see plan §Risks).
6524
7378
  */
6525
7379
  declare const removeSlide: (pres: PresentationData, slide: SlideData) => void;
6526
7380
  /**
@@ -6532,7 +7386,7 @@ declare const removeSlide: (pres: PresentationData, slide: SlideData) => void;
6532
7386
  *
6533
7387
  * Internally walks `<p:sldIdLst>` and re-emits its `<p:sldId>` children
6534
7388
  * in the new order. Slide parts and rels are untouched — only the
6535
- * order in which PowerPoint plays them changes.
7389
+ * order in which the reference desktop app plays them changes.
6536
7390
  */
6537
7391
  declare const sortSlides: (pres: PresentationData, compareFn: (a: SlideData, b: SlideData) => number) => void;
6538
7392
  /**
@@ -6637,7 +7491,7 @@ declare const addMissingSlidePlaceholders: (slide: SlideData) => number;
6637
7491
  * of `addMissingSlidePlaceholders`, it starts empty and inherits its geometry
6638
7492
  * and text style from the layout and master.
6639
7493
  * Pass `source: 'master'` to create an unmatched slot that inherits directly
6640
- * from the master, without changing the layout (as PowerPoint does when
7494
+ * from the master, without changing the layout (as the reference desktop app does when
6641
7495
  * demoting outline text into a Title Only slide). Returns null if absent there.
6642
7496
  */
6643
7497
  declare const addSlidePlaceholder: (slide: SlideData, type: PlaceholderType, options?: {
@@ -6667,12 +7521,12 @@ declare const resetSlidePlaceholderTextFormatting: (slide: SlideData) => number;
6667
7521
  declare const resetSlideLayout: (slide: SlideData) => number;
6668
7522
  //#endregion
6669
7523
  //#region src/api/fn/shape-locks.d.ts
6670
- /** Whether the object's movement and resizing are both locked, as in PowerPoint's Selection Pane. */
7524
+ /** Whether the object's movement and resizing are both locked, as in the reference desktop app's Selection Pane. */
6671
7525
  declare const isShapeLocked: (shape: SlideShapeData) => boolean;
6672
- /** Whether PowerPoint preserves this object's aspect ratio while resizing it. */
7526
+ /** Whether the reference desktop app preserves this object's aspect ratio while resizing it. */
6673
7527
  declare const isShapeAspectRatioLocked: (shape: SlideShapeData) => boolean;
6674
7528
  /**
6675
- * Locks or unlocks object geometry like PowerPoint's Selection Pane. Text,
7529
+ * Locks or unlocks object geometry like the reference desktop app's Selection Pane. Text,
6676
7530
  * selection, aspect-ratio constraints and extension data remain unchanged.
6677
7531
  * Group children keep their own locks; pass all descendants for Lock All.
6678
7532
  * Arrays are committed once per slide, including selections across slides.
@@ -6700,7 +7554,7 @@ interface CustomGeometryInput {
6700
7554
  }
6701
7555
  /**
6702
7556
  * Replaces the shape's geometry (preset or custom) with the given paths. The
6703
- * text rectangle is the whole shape, as PowerPoint writes for freeforms.
7557
+ * text rectangle is the whole shape, as the reference desktop app writes for freeforms.
6704
7558
  * Coordinates are rounded to integers, which the schema requires.
6705
7559
  */
6706
7560
  declare const setShapeCustomGeometry: (shape: SlideShapeData, geometry: CustomGeometryInput) => void;
@@ -6710,6 +7564,13 @@ declare const setShapeCustomGeometry: (shape: SlideShapeData, geometry: CustomGe
6710
7564
  declare const setShapeTextLanguage: (shape: SlideShapeData, lang: string) => void;
6711
7565
  /** The language of the shape's first run that names one, or `null`. */
6712
7566
  declare const getShapeTextLanguage: (shape: SlideShapeData) => string | null;
7567
+ /**
7568
+ * The literal `lang` of each run, field and line break in a paragraph, in
7569
+ * `getShapeParagraphElements` order, or `null` where the element names none.
7570
+ * Renderers use it for language-dependent layout such as the character a
7571
+ * decimal tab aligns on.
7572
+ */
7573
+ declare const getParagraphElementLanguages: (target: SlideShapeData | TableCellData, paragraphIndex: number) => ReadonlyArray<string | null>;
6713
7574
  //#endregion
6714
7575
  //#region src/api/fn/shape-style.d.ts
6715
7576
  /** One DrawingML style-list reference used by a shape quick style. */
@@ -6718,7 +7579,7 @@ interface ShapeStyleReference {
6718
7579
  readonly idx: number;
6719
7580
  /** Theme slot or sRGB color replacing the style list's `phClr`. */
6720
7581
  readonly color?: Color;
6721
- /** Ordered DrawingML color transforms (for example PowerPoint's shade). */
7582
+ /** Ordered DrawingML color transforms (for example the reference desktop app's shade). */
6722
7583
  readonly colorTransforms?: readonly ColorTransform[];
6723
7584
  }
6724
7585
  interface ShapeStyleFontReference {
@@ -6825,7 +7686,7 @@ type ShapeMedia = {
6825
7686
  declare const addSlideMedia: (slide: SlideData, opts: SlideMediaOptions) => SlideShapeData;
6826
7687
  /**
6827
7688
  * Returns the clip behind a media picture, or `null` when the shape is not
6828
- * one. Reads PowerPoint-, PptxGenJS- and python-pptx-authored media alike: the
7689
+ * one. Reads media authored by the reference desktop app, PptxGenJS and python-pptx alike: the
6829
7690
  * embedded part is taken from `<p14:media r:embed>` when present and from the
6830
7691
  * DrawingML `r:link` otherwise; a relationship with an external target is
6831
7692
  * reported as `'online'`.
@@ -6852,7 +7713,7 @@ interface MediaBookmark {
6852
7713
  * How a clip plays in the slide show — the attributes of its
6853
7714
  * `<p:cMediaNode>` and the start condition of its time node.
6854
7715
  *
6855
- * Trimming and fades are stored in the PowerPoint 2010 `p14:media` extension.
7716
+ * Trimming and fades are stored in the `p14:media` extension ([MS-PPTX]).
6856
7717
  * `trim.endMs` is the duration removed from the end of the clip, matching the
6857
7718
  * OOXML `p14:trim@end` meaning (it is not the playback end position).
6858
7719
  */
@@ -6863,7 +7724,7 @@ interface MediaPlayback {
6863
7724
  readonly delayMs?: number;
6864
7725
  /** Plays again from the beginning until the slide moves on. */
6865
7726
  readonly loop: boolean;
6866
- /** Playback volume, 0–1. PowerPoint's own default is 0.8. */
7727
+ /** Playback volume, 0–1. The reference desktop app's own default is 0.8. */
6867
7728
  readonly volume: number;
6868
7729
  readonly muted: boolean;
6869
7730
  /** Video only: plays filling the screen. */
@@ -6900,9 +7761,43 @@ declare const getShapeMediaPlayback: (shape: SlideShapeData) => MediaPlayback |
6900
7761
  */
6901
7762
  declare const setShapeMediaPlayback: (shape: SlideShapeData, options: Partial<MediaPlayback>) => void;
6902
7763
  //#endregion
7764
+ //#region src/api/fn/shape-picture-style.d.ts
7765
+ /**
7766
+ * Applies one of the reference desktop app's built-in Picture Styles (see
7767
+ * `BUILTIN_PICTURE_STYLES`) to a picture. Like the reference desktop app, it replaces the
7768
+ * picture's geometry, fill, border, effects and 3-D in `<p:spPr>` with the
7769
+ * style's own markup — which names no theme color, so the result does not
7770
+ * follow the theme — and keeps the picture, its crop and its position. Throws
7771
+ * when the shape is not a picture or `style` is not a built-in name.
7772
+ */
7773
+ declare const setShapePictureStyle: (shape: SlideShapeData, style: BuiltinPictureStyleName) => void;
7774
+ /**
7775
+ * The built-in picture style whose markup the picture's `<p:spPr>` carries
7776
+ * exactly (position, size and extensions aside), or `null`. A deck does not
7777
+ * record which style was applied, so a picture styled and then edited — a
7778
+ * different border, an extra effect — reads as `null`.
7779
+ */
7780
+ declare const getShapePictureStyle: (shape: SlideShapeData) => BuiltinPictureStyleName | null;
7781
+ /**
7782
+ * `ST_BlipCompression`: the target a picture was compressed for. The reference desktop app's
7783
+ * Compress Pictures writes `print` (220 ppi), `screen` (150 ppi) and `email`
7784
+ * (96 ppi); `hqprint` and `none` are the schema's other values.
7785
+ */
7786
+ type ImageCompressionState = 'email' | 'screen' | 'print' | 'hqprint' | 'none';
7787
+ /** The picture's `a:blip/@cstate`, or `null` when it has none. */
7788
+ declare const getShapeImageCompressionState: (shape: SlideShapeData) => ImageCompressionState | null;
7789
+ /**
7790
+ * Records what a picture was compressed for, as Compress Pictures does: it
7791
+ * sets `a:blip/@cstate` and adds the `a14:useLocalDpi` extension (without a
7792
+ * `val`, meaning true) that the reference desktop app writes alongside it. `null` removes
7793
+ * both. This only labels the picture; resample the pixels with
7794
+ * `setShapeImage`.
7795
+ */
7796
+ declare const setShapeImageCompressionState: (shape: SlideShapeData, state: ImageCompressionState | null) => void;
7797
+ //#endregion
6903
7798
  //#region src/api/fn/shape-video.d.ts
6904
7799
  /**
6905
- * Restores a video to PowerPoint's default shape formatting.
7800
+ * Restores a video to the reference desktop app's default shape formatting.
6906
7801
  *
6907
7802
  * This is deliberately restricted to video media pictures. It clears the
6908
7803
  * image recolor/correction elements and the shape-level fill, line, effects,
@@ -6916,30 +7811,56 @@ declare const resetShapeVideoFormatting: (shape: SlideShapeData) => void;
6916
7811
  * What to change about an effect. Every field is optional; the ones left out
6917
7812
  * keep what the slide already says.
6918
7813
  *
6919
- * `byParagraph` is not an attribute flip: turning it on replaces the effect
6920
- * with one per paragraph of the shape's text, and turning it off replaces the
6921
- * whole build with a single effect on the shape. In both directions the id you
6922
- * passed stays on the effect that takes the original's place in the click
6923
- * order, and the other effects of a build are new — so a caller holding several
6924
- * handles into one build keeps only the one it addressed.
7814
+ * `build` is not an attribute flip: a paragraph build (`'allAtOnce'`,
7815
+ * `'byParagraph'`) replaces the effect with one per paragraph of the shape's
7816
+ * text, and `'asOneObject'` replaces the whole build with a single effect on
7817
+ * the shape; switching between the two paragraph builds replaces every
7818
+ * paragraph's effect. In every direction the id you passed stays on the effect
7819
+ * that takes the original's place in the click order, and the other effects of
7820
+ * a build are new — so a caller holding several handles into one build keeps
7821
+ * only the one it addressed.
6925
7822
  */
6926
7823
  interface AnimationPatch {
6927
7824
  readonly effect?: AnimationEffect;
6928
7825
  /**
6929
- * Which edge a fly comes from or leaves by. Changing it rewrites the effect
6930
- * the same way changing the preset does, because the direction is part of
6931
- * what the preset says. Passing it for an effect that does not fly is an
6932
- * error — including one this patch is turning into such an effect.
7826
+ * Which edge a fly, wipe or peek comes from or leaves by, or which corner
7827
+ * strips start from. Changing it rewrites the effect the same way changing
7828
+ * the preset does, because the direction is part of what the preset says.
7829
+ * Passing it for an effect that takes no direction is an error — including
7830
+ * one this patch is turning into such an effect. The same holds for the
7831
+ * four options below; `setShapeAnimation` documents which effects take
7832
+ * which.
6933
7833
  */
6934
7834
  readonly direction?: AnimationDirection;
7835
+ readonly orientation?: AnimationOrientation;
7836
+ readonly inOut?: AnimationInOut;
7837
+ readonly shape?: AnimationShape;
7838
+ readonly spokes?: number;
7839
+ /**
7840
+ * The emphasis effects' own options, as `setShapeAnimation` takes them:
7841
+ * Spin's direction and angle, Grow/Shrink's axes and size, Transparency's
7842
+ * amount, and the colour of the colour effects.
7843
+ */
7844
+ readonly spinDirection?: AnimationSpinDirection;
7845
+ readonly spinDegrees?: number;
7846
+ readonly scaleDirection?: AnimationScaleDirection;
7847
+ readonly scalePercent?: number;
7848
+ readonly transparencyPercent?: number;
7849
+ readonly color?: AnimationColor;
7850
+ /**
7851
+ * How long the effect runs. Left out, a changed effect keeps the duration
7852
+ * the slide gave it, unless the patch changes the preset itself: a new
7853
+ * preset takes its own default length, as picking one from the reference desktop app's
7854
+ * gallery does.
7855
+ */
6935
7856
  readonly durationMs?: number;
6936
7857
  readonly start?: AnimationStartCondition;
6937
7858
  readonly delayMs?: number;
6938
- readonly byParagraph?: boolean;
7859
+ readonly build?: AnimationTextBuild;
6939
7860
  }
6940
7861
  /**
6941
- * Changes one effect: its preset, how long it runs, when it starts, and whether
6942
- * the shape's text is revealed a paragraph at a time.
7862
+ * Changes one effect: its preset, its options, how long it runs, when it
7863
+ * starts, and how the shape's text is built.
6943
7864
  *
6944
7865
  * The effect keeps the id it was addressed by. Everything after it in the click
6945
7866
  * order is laid out again, because a longer effect moves what follows it and a
@@ -7213,7 +8134,8 @@ declare const setSlideBackgroundImageOpacity: (slide: SlideData, opacity: number
7213
8134
  /**
7214
8135
  * Updates a slide pattern background, preserving unspecified colors and transforms.
7215
8136
  * Inherited patterns become a slide override; the layout and master stay unchanged.
7216
- * A new pattern uses Mac PowerPoint's defaults: pct5, accent1 foreground, bg1 background.
8137
+ * A new pattern uses the reference desktop app's defaults: pct5, accent1 foreground, bg1
8138
+ * background.
7217
8139
  */
7218
8140
  declare const setSlideBackgroundPatternFill: (slide: SlideData, options: Partial<PatternFillOptions>) => void;
7219
8141
  /**
@@ -7225,8 +8147,8 @@ declare const setSlideBackgroundPatternFill: (slide: SlideData, options: Partial
7225
8147
  declare const copySlideBackground: (targetSlide: SlideData, sourceSlide: SlideData) => void;
7226
8148
  /**
7227
8149
  * Applies the source slide's effective background throughout its presentation.
7228
- * Like Mac PowerPoint, stores the fill on masters and clears slide/layout overrides.
7229
- * Theme colors and image relationships are preserved without flattening the fill.
8150
+ * Like the reference desktop app on Mac, stores the fill on masters and clears slide/layout
8151
+ * overrides. Theme colors and image relationships are preserved without flattening the fill.
7230
8152
  */
7231
8153
  declare const applySlideBackgroundToAll: (pres: PresentationData, slide: SlideData) => void;
7232
8154
  /**
@@ -7246,7 +8168,7 @@ declare const clearSlideBackground: (slide: SlideData) => void;
7246
8168
  //#endregion
7247
8169
  //#region src/api/fn/master-background-style.d.ts
7248
8170
  /**
7249
- * Choose one of PowerPoint's twelve Background Styles (numbered row by row).
8171
+ * Choose one of the reference desktop app's twelve Background Styles (numbered row by row).
7250
8172
  * Changes the owning master, so every slide using that master inherits the
7251
8173
  * style. Existing slide and layout background overrides remain in place.
7252
8174
  * The theme must provide the referenced background fill style.
@@ -7272,13 +8194,14 @@ declare const getSlideMasterBackgroundStyles: (slide: SlideData) => SlideMasterB
7272
8194
  * The slide's effective color map: the master's `<p:clrMap>`, overlaid by a
7273
8195
  * layout or slide `<p:clrMapOvr><a:overrideClrMapping>` when present. An explicit
7274
8196
  * slide `masterClrMapping` bypasses the layout override. Falls back to
7275
- * the standard map for decks that omit it.
8197
+ * the standard map for decks that omit it. Given a layout, it is the map the
8198
+ * layout itself is drawn with (its master's, under its own override).
7276
8199
  *
7277
8200
  * Pass the result to color resolution / renderers so `schemeClr` tokens map to
7278
- * the theme slot PowerPoint actually paints — critical for decks with an
8201
+ * the theme slot the reference desktop app actually paints — critical for decks with an
7279
8202
  * inverted map (`bg1="dk1" tx1="lt1"`).
7280
8203
  */
7281
- declare const getEffectiveColorMap: (slide: SlideData) => Record<string, string>;
8204
+ declare const getEffectiveColorMap: (slide: SlideData | SlideLayoutData) => Record<string, string>;
7282
8205
  /**
7283
8206
  * The concrete `#RRGGBB` color the deck paints body text in, resolved through
7284
8207
  * the effective color map + theme. Read from the master's `bodyStyle` level-1
@@ -7290,7 +8213,7 @@ declare const getEffectiveColorMap: (slide: SlideData) => Record<string, string>
7290
8213
  * the SAME as the background, making the text invisible. Baking the body color
7291
8214
  * in keeps generated tables / charts readable on whatever surface the deck uses.
7292
8215
  */
7293
- declare const resolveDeckBodyTextColor: (slide: SlideData) => string | null;
8216
+ declare const resolveDeckBodyTextColor: (slide: SlideData | SlideLayoutData) => string | null;
7294
8217
  //#endregion
7295
8218
  //#region src/api/fn/slide-transition.d.ts
7296
8219
  /**
@@ -7301,7 +8224,7 @@ declare const resolveDeckBodyTextColor: (slide: SlideData) => string | null;
7301
8224
  declare const getSlideTransition: (slide: SlideData) => SlideTransition | null;
7302
8225
  /**
7303
8226
  * Sets the slide's transition effect. A sound set with
7304
- * `setSlideTransitionSound` is kept, as PowerPoint keeps it when the effect
8227
+ * `setSlideTransitionSound` is kept, as the reference desktop app keeps it when the effect
7305
8228
  * changes.
7306
8229
  */
7307
8230
  declare const setSlideTransition: (slide: SlideData, options: TransitionOptions) => void;
@@ -7333,7 +8256,7 @@ declare const getSlideTransitionSound: (slide: SlideData) => TransitionSound | n
7333
8256
  /**
7334
8257
  * Sets (or with `null` removes) the sound played when the slide's transition
7335
8258
  * starts. A slide without a transition gets one with no effect, which is how
7336
- * PowerPoint stores a sound on a "None" transition.
8259
+ * the reference desktop app stores a sound on a "None" transition.
7337
8260
  */
7338
8261
  declare const setSlideTransitionSound: (slide: SlideData, sound: TransitionSoundInput | null) => void;
7339
8262
  //#endregion
@@ -7657,7 +8580,7 @@ declare const setSlideNotes: (slide: SlideData, value: string, options?: {
7657
8580
  };
7658
8581
  newlines?: "paragraph" | "break";
7659
8582
  }) => void;
7660
- /** Applies PowerPoint-style Change Case to a speaker-notes range. */
8583
+ /** Applies Change Case, as the reference desktop app does, to a speaker-notes range. */
7661
8584
  declare const transformSlideNotesCase: (slide: SlideData, value: TextCase, options?: {
7662
8585
  range?: {
7663
8586
  start: number;
@@ -7701,7 +8624,7 @@ declare const clearAllSlideNotes: (pres: PresentationData) => number;
7701
8624
  //#endregion
7702
8625
  //#region src/api/fn/slide-size.d.ts
7703
8626
  /**
7704
- * Width × height of the slide canvas, in EMU. `type` is PowerPoint's
8627
+ * Width × height of the slide canvas, in EMU. `type` is the reference desktop app's
7705
8628
  * aspect-ratio hint (`screen4x3`, `screen16x9`, ...); the actual size
7706
8629
  * is always `width` × `height`.
7707
8630
  */
@@ -7713,7 +8636,7 @@ interface SlideSize {
7713
8636
  /** Returns the slide canvas size, or `null` if `presentation.xml` omits it. */
7714
8637
  declare const getSlideSize: (pres: PresentationData) => SlideSize | null;
7715
8638
  /**
7716
- * The number PowerPoint prints on the first slide — `<p:presentation
8639
+ * The number the reference desktop app prints on the first slide — `<p:presentation
7717
8640
  * firstSlideNum="N"/>`, or `1` when the deck does not say. A `slidenum` field
7718
8641
  * on the n-th slide shows this plus n − 1, so a renderer that substitutes live
7719
8642
  * field values has to start counting here rather than at one.
@@ -7735,7 +8658,7 @@ declare const setSlideSize: (pres: PresentationData, opts: SlideSize, options?:
7735
8658
  }) => void;
7736
8659
  /** 10in × 7.5in (`screen4x3`). */
7737
8660
  declare const SLIDE_SIZE_4_3: SlideSize;
7738
- /** 13.333in × 7.5in (`screen16x9`) — Office 2013+ default. */
8661
+ /** 13.333in × 7.5in (`screen16x9`) — the default since 2013. */
7739
8662
  declare const SLIDE_SIZE_16_9: SlideSize;
7740
8663
  /** 13.333in × 8.33in (`screen16x10`). */
7741
8664
  declare const SLIDE_SIZE_16_10: SlideSize;
@@ -7758,17 +8681,19 @@ declare function getDrawingGuidesVisible(presentation: PresentationData): boolea
7758
8681
  declare const setDrawingGuidesVisible: (presentation: PresentationData, visible: boolean) => void;
7759
8682
  /** Document grid snapping; null means no slide-view preferences are stored. */
7760
8683
  declare function getSnapToGrid(presentation: PresentationData): boolean | null;
8684
+ /** Turns snapping objects to the document grid (View ▸ Guides ▸ Snap to Grid) on or off. */
7761
8685
  declare const setSnapToGrid: (presentation: PresentationData, enabled: boolean) => void;
7762
8686
  /** Grid spacing in EMU, or null when no document spacing is specified. */
7763
8687
  declare function getGridSpacing(presentation: PresentationData): {
7764
8688
  x: number;
7765
8689
  y: number;
7766
8690
  } | null;
8691
+ /** Sets the document grid's horizontal (`x`) and vertical (`y`) spacing, in EMU. */
7767
8692
  declare const setGridSpacing: (presentation: PresentationData, spacing: {
7768
8693
  x: number;
7769
8694
  y: number;
7770
8695
  }) => void;
7771
- /** Slides whose bodies are collapsed in PowerPoint's outline view, in deck order. */
8696
+ /** Slides whose bodies are collapsed in the reference desktop app's outline view, in deck order. */
7772
8697
  declare function getCollapsedOutlineSlides(presentation: PresentationData): readonly SlideData[];
7773
8698
  /** Persists outline collapse and retains other view settings. */
7774
8699
  declare const setSlideOutlineCollapsed: (slide: SlideData | readonly SlideData[], collapsed: boolean) => void;
@@ -7815,7 +8740,7 @@ interface SlideShowProperties {
7815
8740
  useTimings: boolean;
7816
8741
  /**
7817
8742
  * Show Media Controls: whether hovering a video or audio clip in the show
7818
- * reveals its play bar. PowerPoint 2010 stores it as `p14:showMediaCtrls`
8743
+ * reveals its play bar. The reference desktop app stores it as `p14:showMediaCtrls`
7819
8744
  * in the show properties' extension list; omit it to leave the file as is.
7820
8745
  */
7821
8746
  showMediaControls?: boolean;
@@ -7828,5 +8753,5 @@ declare function setSlideShowProperties(pres: PresentationData, settings: SlideS
7828
8753
  //#region src/api/index.d.ts
7829
8754
  declare const VERSION: string;
7830
8755
  //#endregion
7831
- export { getSlideNotes as $, getShapeImageLinkUrl as $a, getSlideComments as $c, setShapeDescription as $d, ReadTextFill as $f, getParagraphLineSpacing as $i, getShapeStrokeDash as $l, addTitleSlide as $n, getTableSize as $o, removeThumbnail as $r, RadarChartSpec as $s, getSlideMasterBackgroundImageBytes as $t, findShapesByText as $u, PresentationNotesEntry as A, AnimationSequenceKind as Aa, addSlideComment as Ac, getShapeFlip as Ad, GeomPath as Af, addSlideShape as Ai, setShapeTextAnchor as Al, ShapeStyleFontReference as An, TableCellBorders as Ao, pt as Ap, getSlideInfo as Ar, getPresentationChartCountsBySlide as As, setSlideMasterBackgroundStyle as At, getShapeFill as Au, getAllCharts as B, findShapesOutsideCanvas as Ba, getCommentAuthors as Bc, getShapeText as Bd, LightRig as Bf, sendShapeToBack as Bi, ShapeEffect as Bl, isShapeLocked as Bn, getTableCellFill as Bo, isSlideHidden as Br, BubbleChartSeries as Bs, getSlideBackgroundImageFillLayout as Bt, getShapeStrokeEffective as Bu, getPresentationFirstSlideNumber as C, setSlidePlaceholders as Ca, ChartView3D as Cc, getShapeAdjustValues as Cd, AnimationOptions as Cf, getUnusedSlideLayouts as Ci, getShapeTextMargins as Cl, addSlideMedia as Cn, setMediaPartBytes as Co, VideoFormat as Cp, getPresentationText as Cr, splitTableCell as Cs, getSlideTransitionSound as Ct, PresentationTheme as Cu, PresentationCommentEntry as D, getShapeAnimation as Da, setShapeClickAction as Dc, getShapeCenter as Dd, TransitionOptions as Df, setSlideLayoutPlaceholderBounds as Di, setShapeParagraphs as Dl, setShapeMediaPlayback as Dn, ValidationIssue as Do, emu as Dp, getSlideAt as Dr, findChartsBySeriesName as Ds, resolveDeckBodyTextColor as Dt, setPresentationTheme as Du, PresentationChartEntry as E, findShapesWithAnimation as Ea, getShapeClickAction as Ec, getShapeBoundsResolved as Ed, TransitionEffect as Ef, setSlideLayoutName as Ei, setShapeBulletStyle as El, getShapeMediaPlayback as En, IssueSeverity as Eo, cm as Ep, getShapeAt as Er, findChartByKind as Es, getEffectiveColorMap as Et, setPresentationFonts as Eu, clearAllSlideNotes as F, ImageCrop as Fa, findCommentsBefore as Fc, getShapePlaceholderType as Fd, LineEndSize as Ff, clearSlideShapes as Fi, setShapeTextField as Fl, setShapeTextLanguage as Fn, getTableCell as Fo, getSlideTextLength as Fr, getShapeChartSeriesValues as Fs, copySlideBackground as Ft, getShapeStroke as Fu, getAllTables as G, getShapeImageBiLevelThreshold as Ga, getCommentSlide as Gc, getUnusedSlideMasters as Gd, Rotation3D as Gf, ShapeParagraphElement as Gi, getShapeEffects as Gl, resetSlideLayout as Gn, getTableCellSpan as Go, replaceTextInSlideNotes as Gr, ComboChartSeries as Gs, getSlideLayoutBackground as Gt, findShapeById as Gu, getAllHyperlinks as H, findSlidesByLayoutPartName as Ha, getCommentFormat as Hc, getSlideMasterPartName as Hd, LightRigType as Hf, getShapeRunFormat as Hi, clearShapeEffects as Hl, setShapeLocked as Hn, getTableCellParagraphs as Ho, replaceTextInNotes as Hr, CandlestickChartSpec as Hs, getSlideBackgroundImageOpacity as Ht, getShapeStrokeOpacity as Hu, clearSlideHyperlinks as I, ImageRecolor as Ia, findCommentsByAuthor as Ic, getShapePosition as Id, LineEndType as If, copyShape as Ii, setShapeTextFormat as Il, CustomGeometryInput as In, getTableCellAlignment as Io, getSlideXmlString as Ir, getShapeChartSpec as Is, getSlideBackground as It, getShapeStrokeCap as Iu, getHiddenSlides as J, getShapeImageContrast as Ja, getCommentsSortedByDate as Jc, isShapeTextBox as Jd, BulletStyle as Jf, getParagraphBulletImageBytes as Ji, setShapeShadow as Jl, addBlankSlide as Jn, getTableCellTextDirection as Jo, setSlideBackgroundGraphicsHidden as Jr, LineArea3DChartSpec as Js, getSlideLayoutBackgroundPatternFill as Jt, findShapeInPresentation as Ju, getDistinctHyperlinkUrls as K, getShapeImageBrightness as Ka, getCommentStatus as Kc, isShapeHidden as Kd, Scene3D as Kf, getParagraphAlignment as Ki, getShapeEffectsEffective as Kl, resetSlidePlaceholderGeometry as Kn, getTableCellText as Ko, replaceTokensInPresentation as Kr, ComboChartSpec as Ks, getSlideLayoutBackgroundGradientFill as Kt, findShapeByName as Ku, findSlidesByHyperlink as L, ImageRecolorColor as La, findCommentsByText as Lc, getShapePreset as Ld, Bevel as Lf, getShapeZIndex as Li, setShapeTextMargins as Ll, CustomGeometryPathInput as Ln, getTableCellAnchor as Lo, getSlides as Lr, getSlideCharts as Ls, getSlideBackgroundGradientFill as Lt, getShapeStrokeColor as Lu, SlideNotesTextFormatOptions as M, AnimationTarget as Ma, clearSlideComments as Mc, getShapeKind as Md, PathFillMode as Mf, addSlideTextBox as Mi, setShapeTextBodyRotationDeg as Ml, ShapeStyleReference as Mn, clearTableCellFill as Mo, getSlideOutline as Mr, getShapeChartCategories as Ms, SlideLayoutBackgroundShape as Mt, getShapeFillColorResolved as Mu, appendSlideNotes as N, AnimationValueAfterEnd as Na, findCommentAuthorByName as Nc, getShapeName as Nd, ArrowOptions as Nf, bringShapeForward as Ni, setShapeTextColumns as Nl, setShapeStyle as Nn, getPresentationTableCountsBySlide as No, getSlidePartName as Nr, getShapeChartKind as Ns, applySlideBackgroundToAll as Nt, getShapeFillEffective as Nu, PresentationHyperlinkEntry as O, getSlideAnimations as Oa, ImageFit as Oc, getShapeCustomGeometry as Od, CustomGeometry as Of, addSlideImage as Oi, setShapeText as Ol, groupShapes as On, TableCellAppearanceEffective as Oo, inches as Op, getSlideCount as Or, findChartsWithDataLabels as Os, SlideMasterBackgroundStyle as Ot, ShapeFill as Ou, clearAllHyperlinks as P, SlideAnimationStep as Pa, findCommentsAfter as Pc, getShapePlaceholderIdx as Pd, LineDash as Pf, bringShapeToFront as Pi, setShapeTextDirection as Pl, getShapeTextLanguage as Pn, getSlideTables as Po, getSlideText as Pr, getShapeChartSeriesNames as Ps, clearSlideBackground as Pt, getShapeFillOpacity as Pu, getPresentationNotesText as Q, getShapeImageFormat as Qa, getSlideCommentAuthors as Qc, setShapeBounds as Qd, RunSpec as Qf, getParagraphLevel as Qi, getShapeStrokeArrow as Ql, addSlideAt as Qn, getTableRowHeights as Qo, getThumbnail as Qr, PlainChartSeries as Qs, getSlideMasterBackgroundGradientFill as Qt, findShapesByPreset as Qu, findSlidesWithChartKind as R, findFlippedShapes as Ra, findSlidesWithCommentsByAuthor as Rc, getShapeRotation as Rd, BevelPreset as Rf, removeShape as Ri, setShapeTextWrap as Rl, setShapeCustomGeometry as Rn, getTableCellAppearanceEffective as Ro, getSlidesByLayout as Rr, setChartSpec as Rs, getSlideBackgroundImageBytes as Rt, getShapeStrokeColorResolved as Ru, SlideSize as S, setSlideBody as Sa, ChartUpDownBars as Sc, getPresetGeometry as Sd, AnimationEffect as Sf, getSlideLayouts as Si, getShapeTextDirection as Sl, SlideMediaSource as Sn, readPackagePart as So, AudioFormat as Sp, getPresentationShapeCountsBySlide as Sr, setTableStyleId as Ss, getSlideTransition as St, PresentationFontsInput as Su, setSlideSize as T, clearSlideAnimations as Ta, ShapeClickAction as Tc, getShapeBounds as Td, SlideTransition as Tf, setSlideLayoutBackground as Ti, setShapeAlignment as Tl, getShapeMedia as Tn, validatePresentation as To, Emu as Tp, getPresentationTextLengthsBySlide as Tr, addSlideChart as Ts, setSlideTransitionSound as Tt, getPresentationTheme as Tu, getAllImages as U, findSlidesByLayoutType as Ua, getCommentParent as Uc, getSlideMasterPartNames as Ud, PresetMaterial as Uf, resolveDrawingColor as Ui, findShapesByEffect as Ul, addMissingSlidePlaceholders as Un, getTableCellPosition as Uo, replaceTextInPresentation as Ur, ChartSpec as Us, getSlideBackgroundPatternFill as Ut, getShapeStrokeWidth as Uu, getAllComments as V, findSlidesByLayoutName as Va, getCommentDate as Vc, getSlideMasterCount as Vd, LightRigDirection as Vf, setShapeZIndex as Vi, ShapeEffectAny as Vl, setShapeAspectRatioLocked as Vn, getTableCellMargins as Vo, isSlideLayoutBackgroundGraphicsHidden as Vr, BubbleChartSpec as Vs, getSlideBackgroundImageIntrinsicSize as Vt, getShapeStrokeJoin as Vu, getAllNotes as W, getPresentationImageCountsBySlide as Wa, getCommentPosition as Wc, getSlideMasterUsageCounts as Wd, ReadText3D as Wf, resolveDrawingColorOpacity as Wi, getShapeEffect as Wl, addSlidePlaceholder as Wn, getTableCellRunFormatEffective as Wo, replaceTextInSlide as Wr, ChartVariant as Ws, getSlideColorMapOverride as Wt, findEmptyPlaceholders as Wu, getPresentationNotesLength as X, getShapeImageDuotone as Xa, getPresentationCommentCountsBySlide as Xc, renameShape as Xd, ParagraphAlignmentToken as Xf, getParagraphEndFormat as Xi, clearShapeStroke as Xl, addSectionHeaderSlide as Xn, getTableColumnWidths as Xo, slideHasAnimations as Xr, Pie3DChartSpec as Xs, getSlideLayoutShapes as Xt, findShapesByKind as Xu, getPresentationHyperlinkCountsBySlide as Y, getShapeImageCrop as Ya, getPresentationCommentCountsByAuthor as Yc, pointInShape as Yd, ParagraphAlignment as Yf, getParagraphBulletStyle as Yi, clearShapeFill as Yl, addContentSlide as Yn, getTableCells as Yo, setSlideHidden as Yr, OfPieChartSpec as Ys, getSlideLayoutBackgroundShapes as Yt, findShapesByHyperlink as Yu, getPresentationNotesLengthsBySlide as Z, getShapeImageFillBytes as Za, getPresentationCommenters as Zc, setShapeAltTitle as Zd, ParagraphSpec as Zf, getParagraphIndent as Zi, getShapePatternFill as Zl, addSlide as Zn, getTableDimensions as Zo, PresentationThumbnail as Zr, PieChartSpec as Zs, getSlideMasterBackground as Zt, findShapesByName as Zu, setSlideOutlineCollapsed as _, setParagraphTypography as _a, ChartSeries as _c, findShapesInRect as _d, CommentStatus as _f, getSlideLayoutPartName as _i, getShapeTextAnchor as _l, MediaFade as _n, getOrphanMediaPartNames as _o, SchemeColorToken as _p, findSlideByTitle as _r, setTableCellTextDirection as _s, setSlideNotesFormat as _t, setShapeStrokeDash as _u, getShapeImageFillLayout as a, getShapeRunCount as aa, ChartAxisScaling as ac, getShapeSlide as ad, PresentationInput as af, getPresentationCreated as ai, ParagraphTabStop as al, setSlideBackgroundImageFillLayout as an, resetShapeImageColorEffects as ao, GradientFillOptions as ap, removeSlide as ar, isTableShape as as, getSlidesWithComments as at, setShapeNoFill as au, SLIDE_SIZE_16_9 as b, getSlideBody as ba, ChartTimeUnit as bc, getMaxShapeId as bd, SlideComment as bf, getSlideLayoutUsageCounts as bi, getShapeTextBodyRotationDeg as bl, ShapeMedia as bn, getSlideMediaPartNames as bo, PresetShape as bp, getAllShapes as br, setTableRowHeight as bs, TransitionSoundInput as bt, getShapeGradientFillEffective as bu, DrawingGuide as c, getShapeRunText as ca, ChartDataTable as cc, getSlideLayout as cd, loadPresentation as cf, setCoreProperties as ci, getShapeRunFormatEffective as cl, ImageFillLayout as cn, setShapeImageCrop as co, PatternPreset as cp, swapSlides as cr, removeTableRow as cs, getSlidesWithNotes as ct, setShapePosition as cu, getDrawingGuidesVisible as d, setParagraphBullet as da, ChartErrorBars as dc, replaceTokensInSlide as dd, SlideCommentData as df, SlideLayoutPlaceholder as di, TextAnchor as dl, AnimationPatch as dn, MediaPart as do, GlowOptions as dp, setCustomShows as dr, setTableCellBorders as ds, getVisibleSlides as dt, setShapeSize as du, getParagraphSpacing as ea, ScatterChartSeries as ec, findShapesWithHyperlinks as ed, setShapeHidden as ef, setThumbnail as ei, removeSlideComment as el, getSlideMasterBackgroundPatternFill as en, getShapeImageOpacity as eo, ReadTextFormat as ep, duplicateSlide as er, getTableStyleFlags as es, getSlideNotesLength as et, setShapeAdjustValues as eu, getGridSpacing as f, setParagraphIndent as fa, ChartGrouping as fc, setSlideLayout as fd, SlideData as ff, findLayoutsWithPlaceholderType as fi, TextAutoFit as fl, moveSlideAnimation as fn, PackagePartInfo as fo, InnerShadowOptions as fp, AllShapesEntry as fr, setTableCellClickAction as fs, hasSlideNotes as ft, setShapeSlideBackgroundFill as fu, setGridSpacing as g, setParagraphTabs as ga, ChartSecondaryValueAxis as gc, findShapesAtPoint as gd, COMMENT_STATUSES as gf, getSlideLayoutName as gi, getShapeText3D as gl, MediaBookmark as gn, getMediaParts as go, HexColor as gp, findSlideByText as gr, setTableCellText as gs, setSlideNotes as gt, setShapeStrokeCompound as gu, setDrawingGuidesVisible as h, setParagraphSpacing as ha, ChartOfPie as hc, centerShapeOnSlide as hd, TableCellData as hf, findSlideLayoutByType as hi, getShapeBodyPrEffective as hl, resetShapeVideoFormatting as hn, compactPackage as ho, Color as hp, findSlideByPartName as hr, setTableCellParagraphs as hs, resolveSlideNotesTextColor as ht, setShapeStrokeCap as hu, setSlideShowProperties as i, getShapeRunClickAction as ia, isChartSpec as ic, getShapeIndex as id, setSlideSections as if, getExtendedProperties as ii, ParagraphProperties as il, setSlideBackgroundImage as in, isShapeImageGrayscale as io, toWritableTextFormat as ip, moveSlide as ir, isChartShape as is, getSlidesWithCharts as it, setShapeImageFill as iu, PresentationTableEntry as j, AnimationStart as ja, clearAllSlideComments as jc, getShapeId as jd, GeomPoint as jf, addSlideTable as ji, setShapeTextAutoFit as jl, ShapeStyleOptions as jn, TableCellParagraph as jo, getSlideLayoutCount as jr, getPresentationChartKindCounts as js, SlideBackground as jt, getShapeFillColor as ju, PresentationImageEntry as k, setShapeAnimation as ka, setShapeImage as kc, getShapeDescription as kd, GeomCommand as kf, addSlideLine as ki, setShapeText3D as kl, ungroupShapes as kn, TableCellBorder as ko, mm as kp, getSlideIndex as kr, findChartsWithTrendlines as ks, getSlideMasterBackgroundStyles as kt, ShapeStroke as ku, getCollapsedOutlineSlides as l, isParagraphBulletPicture as la, ChartDateAxis as lc, getSlideShapes as ld, savePresentation as lf, setExtendedProperties as li, setShapeHyperlink as ll, ImageTileAlignment as ln, setShapeImageOpacity as lo, ReadGradientFill as lp, CustomShow as lr, setTableCellAlignment as ls, getSlidesWithOverlap as lt, setShapePreset as lu, setDrawingGuides as m, setParagraphLineSpacing as ma, ChartManualLayout as mc, ShapeBounds as md, SlideShapeData as mf, findSlideLayoutByPartName as mi, appendShapeText as ml, updateSlideAnimation as mn, _internalPackageOf as mo, ShadowOptions as mp, SlideOutlineEntry as mr, setTableCellMargins as ms, replaceHyperlink as mt, setShapeStrokeArrow as mu, SlideShowProperties as n, getShapeParagraphCount as na, StockChartSpec as nc, findSlidePlaceholderByIdx as nd, SlideSection as nf, ExtendedProperties as ni, setCommentText as nl, setSlideBackground as nn, hasShapeImage as no, TextFormat as np, importSlide as nr, insertTableColumn as ns, getSlideNotesParagraphEndFormat as nt, setShapeFlip as nu, getShapeImageIntrinsicSize as o, getShapeRunHyperlink as oa, ChartDataLabelPosition as oc, getShapeXmlString as od, PresentationSize as of, getPresentationModified as oi, getParagraphPropertiesEffective as ol, setSlideBackgroundImageOpacity as on, setShapeImageBrightness as oo, GradientStop as op, reverseSlides as or, mergeTableCells as os, getSlidesWithHyperlinks as ot, setShapeNoStroke as ou, getSnapToGrid as p, setParagraphLevel as pa, ChartKind as pc, translateShapes as pd, SlideLayoutData as pf, findSlideLayout as pi, TextWrap as pl, removeSlideAnimation as pn, PresentationSummary as po, ReflectionOptions as pp, SlideInfo as pr, setTableCellFill as ps, removeSlideNotes as pt, setShapeStroke as pu, getEmptySlides as q, getShapeImageBytes as qa, getCommentText as qc, isShapePlaceholder as qd, Text3D as qf, getParagraphBullet as qi, setShapeGlow as ql, resetSlidePlaceholderTextFormatting as qn, getTableCellText3D as qo, searchSlides as qr, DoughnutChartSpec as qs, getSlideLayoutBackgroundImageBytes as qt, findShapeByText as qu, getSlideShowProperties as r, getShapeParagraphElements as ra, SurfaceChartSpec as rc, findSlidePlaceholders as rd, getSlideSections as rf, getCoreProperties as ri, ParagraphBulletDetail as rl, setSlideBackgroundGradientFill as rn, hasShapeText as ro, TextOutline as rp, mergePresentations as rr, insertTableRow as rs, getSlideNotesTextFormats as rt, setShapeGradientFill as ru, setShapeImageFillLayout as s, getShapeRunHyperlinkTooltip as sa, ChartDataLabels as sc, getShapesBounds as sd, createPresentation as sf, incrementRevision as si, getShapeHyperlink as sl, setSlideBackgroundPatternFill as sn, setShapeImageContrast as so, PatternFillOptions as sp, sortSlides as sr, removeTableColumn as ss, getSlidesWithImages as st, setShapePatternFill as su, VERSION as t, getShapeHyperlinkTooltip as ta, ScatterChartSpec as tc, findSlidePlaceholder as td, shapesOverlap as tf, CoreProperties as ti, setCommentStatus as tl, getSlideMasterShapes as tn, getShapeImagePartName as to, TextFill as tp, duplicateSlideAt as tr, getTableStyleId as ts, getSlideNotesLineBreaks as tt, setShapeFill as tu, getDrawingGuides as u, setParagraphAlignment as ua, ChartErrorBarAmount as uc, getSlidesWithEmptyPlaceholders as ud, PresentationData as uf, touchModified as ui, setShapeRunFormat as ul, ImageTileFlip as un, setShapeImageRecolor as uo, ReadGradientStop as up, getCustomShows as ur, setTableCellAnchor as us, getSlidesWithTables as ut, setShapeRotation as uu, setSnapToGrid as v, setShapeRunHyperlink as va, ChartSeriesAxis as vc, getGroupChildren as vd, CommentAuthor as vf, getSlideLayoutPlaceholders as vi, getShapeTextAutoFit as vl, MediaPlayback as vn, getPackageSize as vo, asColor as vp, findSlidesByNotes as vr, setTableCellTextFormat as vs, transformSlideNotesCase as vt, setShapeStrokeJoin as vu, getSlideSize as w, setSlideTitle as wa, ReadChartSpec as wc, getShapeAltTitle as wd, AnimationStartCondition as wf, clearSlideLayoutBackground as wi, getShapeTextWrap as wl, findShapesWithMedia as wn, slidesUsingMediaPart as wo, ImageFormat as wp, getPresentationTextLength as wr, SlideChartData as ws, setSlideTransition as wt, getPresentationFonts as wu, SLIDE_SIZE_4_3 as x, getSlideTitle as xa, ChartTrendline as xc, getMaxShapeIdInPresentation as xd, AnimationDirection as xf, getSlideLayoutUsageCountsByType as xi, getShapeTextColumns as xl, SlideMediaOptions as xn, listPackageParts as xo, PlaceholderType as xp, getOutlineText as xr, setTableStyleFlags as xs, clearSlideTransition as xt, PresentationFonts as xu, SLIDE_SIZE_16_10 as y, setShapeRunText as ya, ChartTextStyle as yc, getGroupTransform as yd, CommentPosition as yf, getSlideLayoutType as yi, getShapeTextAutoFitParams as yl, MediaTrim as yn, getPresentationSummary as yo, ColorTransform as yp, findSlidesByText as yr, setTableColumnWidth as ys, TransitionSound as yt, getShapeGradientFill as yu, findSlidesWithChartTrendlines as z, findOverlappingShapePairs as za, getCommentAuthor as zc, getShapeSize as zd, CameraPreset as zf, sendShapeBackward as zi, TextCase as zl, isShapeAspectRatioLocked as zn, getTableCellBorders as zo, isSlideBackgroundGraphicsHidden as zr, Bar3DChartSpec as zs, getSlideBackgroundImageCrop as zt, getShapeStrokeCompound as zu };
7832
- //# sourceMappingURL=index-C8dd42jQ.d.ts.map
8756
+ export { getSlideNotes as $, findShapesWithAnimation as $a, ChartUpDownBars as $c, getSlideLayout as $d, loadPresentation as $f, SlideLayoutPlaceholder as $i, getShapeTextAutoFitParams as $l, resetSlidePlaceholderTextFormatting as $n, slidesUsingMediaPart as $o, BulletStyle as $p, searchSlides as $r, setTableStyleId as $s, getSlideMasterBackgroundImageBytes as $t, setShapeRotation as $u, PresentationNotesEntry as A, getShapeParagraphElements as Aa, RadarChartSpec as Ac, getShapeStrokeEffective as Ad, getShapeSize as Af, getSlideMasterName as Ai, getSlideComments as Al, asColor as Am, getShapeMedia as An, getShapeImagePartName as Ao, MasterPlaceholderType as Ap, getPresentationTextLength as Ar, getTableSize as As, setSlideMasterBackgroundStyle as At, getShapeEffectsEffective as Au, getAllCharts as B, setParagraphLevel as Ba, ChartDateAxis as Bc, findShapesByHyperlink as Bd, pointInShape as Bf, setSlideMasterPreserved as Bi, setShapeHyperlink as Bl, inches as Bm, getShapeTextLanguage as Bn, MediaPart as Bo, GeomPoint as Bp, getSlideText as Br, setTableCellAlignment as Bs, getSlideBackgroundImageFillLayout as Bt, getShapeStrokeArrow as Bu, getPresentationFirstSlideNumber as C, getParagraphEndFormat as Ca, ComboChartSpec as Cc, getShapeFillEffective as Cd, getShapeKind as Cf, setHandoutSlidesPerPage as Ci, getCommentStatus as Cl, GlowOptions as Cm, MediaPlayback as Cn, getShapeImageContrast as Co, MorphOption as Cp, findSlideByTitle as Cr, getTableCellText as Cs, getSlideTransitionSound as Ct, ShapeEffect as Cu, PresentationCommentEntry as D, getParagraphSpacing as Da, Pie3DChartSpec as Dc, getShapeStrokeColor as Dd, getShapePosition as Df, addSlideLayoutPlaceholder as Di, getPresentationCommentCountsBySlide as Dl, Color as Dm, SlideMediaSource as Dn, getShapeImageFormat as Do, TransitionPreset as Dp, getOutlineText as Dr, getTableColumnWidths as Ds, resolveDeckBodyTextColor as Dt, getShape3D as Du, PresentationChartEntry as E, getParagraphLineSpacing as Ea, OfPieChartSpec as Ec, getShapeStrokeCap as Ed, getShapePlaceholderType as Ef, addSlideLayout as Ei, getPresentationCommentCountsByAuthor as El, ShadowOptions as Em, SlideMediaOptions as En, getShapeImageFillBytes as Eo, TransitionOptions as Ep, getAllShapes as Er, getTableCells as Es, getEffectiveColorMap as Et, findShapesByEffect as Eu, clearAllSlideNotes as F, getShapeRunText as Fa, isChartSpec as Fc, findEmptyPlaceholders as Fd, getSlideMasterUsageCounts as Ff, setSlideLayoutBackgroundGraphicsHidden as Fi, ParagraphProperties as Fl, VideoFormat as Fm, ShapeStyleFontReference as Fn, setShapeImageBrightness as Fo, BuiltinPictureStyleName as Fp, getSlideIndex as Fr, isChartShape as Fs, copySlideBackground as Ft, setShapeShadow as Fu, getAllTables as G, setShapeRunHyperlink as Ga, ChartManualLayout as Gc, findShapesWithHyperlinks as Gd, setShapeHidden as Gf, getSlideLayoutName as Gi, TextAnchor as Gl, isShapeAspectRatioLocked as Gn, getMediaParts as Go, LightRig as Gp, isSlideBackgroundGraphicsHidden as Gr, setTableCellMargins as Gs, getSlideLayoutBackground as Gt, setShapeFlip as Gu, getAllHyperlinks as H, setParagraphSpacing as Ha, ChartErrorBars as Hc, findShapesByName as Hd, setShapeAltTitle as Hf, findSlideLayout as Hi, getShapeRunFormat as Hl, pt as Hm, CustomGeometryInput as Hn, PresentationSummary as Ho, Bevel as Hp, getSlideXmlString as Hr, setTableCellBorders as Hs, getSlideBackgroundImageOpacity as Ht, getShapeStrokeSketch as Hu, clearSlideHyperlinks as I, isParagraphBulletPicture as Ia, ChartAxisScaling as Ic, findShapeById as Id, getUnusedSlideMasters as If, setSlideLayoutFootersIncluded as Ii, ParagraphTabStop as Il, ImageFormat as Im, ShapeStyleOptions as In, setShapeImageContrast as Io, BUILTIN_PICTURE_STYLES as Ip, getSlideInfo as Ir, isTableShape as Is, getSlideBackground as It, setShapeSoftEdge as Iu, getHiddenSlides as J, getSlideTitle as Ja, ChartSeries as Jc, findSlidePlaceholders as Jd, getSlideSections as Jf, getSlideLayoutType as Ji, appendShapeText as Jl, setShapeLocked as Jn, getPresentationSummary as Jo, PresetMaterial as Jp, replaceTextInNotes as Jr, setTableCellTextDirection as Js, getSlideLayoutBackgroundPatternFill as Jt, setShapeNoFill as Ju, getDistinctHyperlinkUrls as K, setShapeRunText as Ka, ChartOfPie as Kc, findSlidePlaceholder as Kd, shapesOverlap as Kf, getSlideLayoutPartName as Ki, TextAutoFit as Kl, isShapeLocked as Kn, getOrphanMediaPartNames as Ko, LightRigDirection as Kp, isSlideHidden as Kr, setTableCellParagraphs as Ks, getSlideLayoutBackgroundGradientFill as Kt, setShapeGradientFill as Ku, findSlidesByHyperlink as L, setParagraphAlignment as La, ChartDataLabelPosition as Lc, findShapeByName as Ld, isShapeHidden as Lf, setSlideLayoutTitleIncluded as Li, getParagraphPropertiesEffective as Ll, Emu as Lm, ShapeStyleReference as Ln, setShapeImageCrop as Lo, CustomGeometry as Lp, getSlideLayoutCount as Lr, mergeTableCells as Ls, getSlideBackgroundGradientFill as Lt, clearShapeFill as Lu, SlideNotesTextFormatOptions as M, getShapeRunCount as Ma, ScatterChartSpec as Mc, getShapeStrokeJoin as Md, getSlideMasterCount as Mf, isSlideMasterPreserved as Mi, setCommentStatus as Ml, PresetShape as Mm, setShapeMediaPlayback as Mn, hasShapeText as Mo, BuiltinTableStyle as Mp, getShapeAt as Mr, getTableStyleId as Ms, SlideLayoutBackgroundShape as Mt, setShapeGlow as Mu, appendSlideNotes as N, getShapeRunHyperlink as Na, StockChartSpec as Nc, getShapeStrokeOpacity as Nd, getSlideMasterPartName as Nf, removeSlideLayout as Ni, setCommentText as Nl, PlaceholderType as Nm, groupShapes as Nn, isShapeImageGrayscale as No, BuiltinTableStyleName as Np, getSlideAt as Nr, insertTableColumn as Ns, applySlideBackgroundToAll as Nt, setShapeInnerShadow as Nu, PresentationHyperlinkEntry as O, getShapeHyperlinkTooltip as Oa, PieChartSpec as Oc, getShapeStrokeColorResolved as Od, getShapePreset as Of, addSlideMaster as Oi, getPresentationCommenters as Ol, HexColor as Om, addSlideMedia as On, getShapeImageLinkUrl as Oo, HandoutMasterPlaceholderType as Op, getPresentationShapeCountsBySlide as Or, getTableDimensions as Os, SlideMasterBackgroundStyle as Ot, getShapeEffect as Ou, clearAllHyperlinks as P, getShapeRunHyperlinkTooltip as Pa, SurfaceChartSpec as Pc, getShapeStrokeWidth as Pd, getSlideMasterPartNames as Pf, removeSlideMaster as Pi, ParagraphBulletDetail as Pl, AudioFormat as Pm, ungroupShapes as Pn, resetShapeImageColorEffects as Po, BUILTIN_TABLE_STYLES as Pp, getSlideCount as Pr, insertTableRow as Ps, clearSlideBackground as Pt, setShapeReflection as Pu, getPresentationNotesText as Q, clearSlideAnimations as Qa, ChartTrendline as Qc, getShapesBounds as Qd, createPresentation as Qf, getUnusedSlideLayouts as Qi, getShapeTextAutoFit as Ql, resetSlidePlaceholderGeometry as Qn, setMediaPartBytes as Qo, Text3D as Qp, replaceTokensInPresentation as Qr, setTableStyleFlags as Qs, getSlideMasterBackgroundGradientFill as Qt, setShapePreset as Qu, findSlidesWithChartKind as R, setParagraphBullet as Ra, ChartDataLabels as Rc, findShapeByText as Rd, isShapePlaceholder as Rf, setSlideMasterName as Ri, getShapeHyperlink as Rl, cm as Rm, setShapeStyle as Rn, setShapeImageOpacity as Ro, GeomCommand as Rp, getSlideOutline as Rr, removeTableColumn as Rs, getSlideBackgroundImageBytes as Rt, clearShapeStroke as Ru, SlideSize as S, getParagraphBulletStyle as Sa, ComboChartSeries as Sc, getShapeFillColorResolved as Sd, getShapeId as Sf, setHandoutMasterPlaceholderIncluded as Si, getCommentSlide as Sl, ReadGradientStop as Sm, MediaFade as Sn, getShapeImageBytes as So, AnimationSpinDirection as Sp, findSlideByText as Sr, getTableCellSpan as Ss, getSlideTransition as St, Shape3D as Su, setSlideSize as T, getParagraphLevel as Ta, LineArea3DChartSpec as Tc, getShapeStroke as Td, getShapePlaceholderIdx as Tf, setNotesPageOrientation as Ti, getCommentsSortedByDate as Tl, ReflectionOptions as Tm, ShapeMedia as Tn, getShapeImageDuotone as To, TransitionEffect as Tp, findSlidesByText as Tr, getTableCellTextDirection as Ts, setSlideTransitionSound as Tt, clearShapeEffects as Tu, getAllImages as U, setParagraphTabs as Ua, ChartGrouping as Uc, findShapesByPreset as Ud, setShapeBounds as Uf, findSlideLayoutByPartName as Ui, resolveDrawingColor as Ul, CustomGeometryPathInput as Un, _internalPackageOf as Uo, BevelPreset as Up, getSlides as Ur, setTableCellClickAction as Us, getSlideBackgroundPatternFill as Ut, setShapeAdjustValues as Uu, getAllComments as V, setParagraphLineSpacing as Va, ChartErrorBarAmount as Vc, findShapesByKind as Vd, renameShape as Vf, findLayoutsWithPlaceholderType as Vi, setShapeRunFormat as Vl, mm as Vm, setShapeTextLanguage as Vn, PackagePartInfo as Vo, PathFillMode as Vp, getSlideTextLength as Vr, setTableCellAnchor as Vs, getSlideBackgroundImageIntrinsicSize as Vt, getShapeStrokeDash as Vu, getAllNotes as W, setParagraphTypography as Wa, ChartKind as Wc, findShapesByText as Wd, setShapeDescription as Wf, findSlideLayoutByType as Wi, resolveDrawingColorOpacity as Wl, setShapeCustomGeometry as Wn, compactPackage as Wo, CameraPreset as Wp, getSlidesByLayout as Wr, setTableCellFill as Ws, getSlideColorMapOverride as Wt, setShapeFill as Wu, getPresentationNotesLength as X, setSlidePlaceholders as Xa, ChartTextStyle as Xc, getShapeSlide as Xd, PresentationInput as Xf, getSlideLayoutUsageCountsByType as Xi, getShapeText3D as Xl, addSlidePlaceholder as Xn, listPackageParts as Xo, Rotation3D as Xp, replaceTextInSlide as Xr, setTableColumnWidth as Xs, getSlideLayoutShapes as Xt, setShapePatternFill as Xu, getPresentationHyperlinkCountsBySlide as Y, setSlideBody as Ya, ChartSeriesAxis as Yc, getShapeIndex as Yd, setSlideSections as Yf, getSlideLayoutUsageCounts as Yi, getShapeBodyPrEffective as Yl, addMissingSlidePlaceholders as Yn, getSlideMediaPartNames as Yo, ReadText3D as Yp, replaceTextInPresentation as Yr, setTableCellTextFormat as Ys, getSlideLayoutBackgroundShapes as Yt, setShapeNoStroke as Yu, getPresentationNotesLengthsBySlide as Z, setSlideTitle as Za, ChartTimeUnit as Zc, getShapeXmlString as Zd, PresentationSize as Zf, getSlideLayouts as Zi, getShapeTextAnchor as Zl, resetSlideLayout as Zn, readPackagePart as Zo, Scene3D as Zp, replaceTextInSlideNotes as Zr, setTableRowHeight as Zs, getSlideMasterBackground as Zt, setShapePosition as Zu, setSlideOutlineCollapsed as _, setShapeZIndex as _a, BubbleChartSeries as _c, setPresentationTheme as _d, getShapeBoundsResolved as _f, HandoutSlidesPerPage as _i, getCommentAuthors as _l, GradientFillOptions as _m, getShapeImageCompressionState as _n, findSlidesByLayoutType as _o, AnimationShape as _p, setCustomShows as _r, getTableCellFill as _s, setSlideNotesFormat as _t, setShapeTextFlat as _u, getShapeImageFillLayout as a, addSlideLine as aa, findChartsWithDataLabels as ac, setShapeStrokeCompound as ad, ShapeBounds as af, removeThumbnail as ai, ImageFit as al, ReadTextFormat as am, setSlideBackgroundImageFillLayout as an, AnimationTarget as ao, SlideShapeData as ap, addTitleSlide as ar, TableCellBorder as as, getSlidesWithComments as at, getShapeTextWrap as au, SLIDE_SIZE_16_9 as b, getParagraphBullet as ba, ChartSpec as bc, getShapeFill as bd, getShapeDescription as bf, getNotesMasterPlaceholders as bi, getCommentParent as bl, PatternPreset as bm, setShapePictureStyle as bn, getShapeImageBiLevelThreshold as bo, AnimationColor as bp, SlideOutlineEntry as br, getTableCellPosition as bs, TransitionSoundInput as bt, setShapeTextWrap as bu, DrawingGuide as c, addSlideTextBox as ca, getPresentationChartKindCounts as cc, setShapeStrokeSketch as cd, findShapesInRect as cf, ExtendedProperties as ci, clearAllSlideComments as cl, TextOutline as cm, ImageFillLayout as cn, ImageArtisticEffect as co, CommentStatus as cp, importSlide as cr, clearTableCellFill as cs, getSlidesWithNotes as ct, setShapeParagraphs as cu, getDrawingGuidesVisible as d, clearSlideShapes as da, getShapeChartSeriesNames as dc, PresentationFonts as dd, getMaxShapeId as df, getPresentationCreated as di, findCommentsAfter as dl, LineDash as dm, AnimationPatch as dn, ImageRecolorColor as do, SlideComment as dp, removeSlide as dr, getTableBackgroundEffective as ds, getVisibleSlides as dt, setShapeTextAnchor as du, clearSlideLayoutBackground as ea, splitTableCell as ec, setShapeSize as ed, getSlideShapes as ef, setSlideBackgroundGraphicsHidden as ei, ChartView3D as el, ParagraphAlignment as em, getSlideMasterBackgroundPatternFill as en, getShapeAnimation as eo, savePresentation as ep, addBlankSlide as er, validatePresentation as es, getSlideNotesLength as et, getShapeTextBodyRotationDeg as eu, getGridSpacing as f, copyShape as fa, getShapeChartSeriesValues as fc, PresentationFontsInput as fd, getMaxShapeIdInPresentation as ff, getPresentationModified as fi, findCommentsBefore as fl, LineEndSize as fm, moveSlideAnimation as fn, findFlippedShapes as fo, AnimationDirection as fp, reverseSlides as fr, getTableCell as fs, hasSlideNotes as ft, setShapeTextAutoFit as fu, setGridSpacing as g, sendShapeToBack as ga, Bar3DChartSpec as gc, setPresentationFonts as gd, getShapeBounds as gf, touchModified as gi, getCommentAuthor as gl, ReadLineFill as gm, ImageCompressionState as gn, findSlidesByLayoutPartName as go, AnimationOrientation as gp, getCustomShows as gr, getTableCellBorders as gs, setSlideNotes as gt, setShapeTextField as gu, setDrawingGuidesVisible as h, sendShapeBackward as ha, setChartSpec as hc, getPresentationTheme as hd, getShapeAltTitle as hf, setExtendedProperties as hi, findSlidesWithCommentsByAuthor as hl, LineSketch as hm, resetShapeVideoFormatting as hn, findSlidesByLayoutName as ho, AnimationOptions as hp, CustomShow as hr, getTableCellAppearanceEffective as hs, resolveSlideNotesTextColor as ht, setShapeTextDirection as hu, setSlideShowProperties as i, addSlideImage as ia, findChartsBySeriesName as ic, setShapeStrokeCap as id, translateShapes as if, getThumbnail as ii, setShapeClickAction as il, ReadTextFill as im, setSlideBackgroundImage as in, AnimationStart as io, SlideLayoutData as ip, addSlideAt as ir, TableCellAppearanceEffective as is, getSlidesWithCharts as it, getShapeTextMargins as iu, PresentationTableEntry as j, getShapeRunClickAction as ja, ScatterChartSeries as jc, getShapeStrokeGradient as jd, getShapeText as jf, getSlideMasterPlaceholders as ji, removeSlideComment as jl, ColorTransform as jm, getShapeMediaPlayback as jn, hasShapeImage as jo, NotesMasterPlaceholderType as jp, getPresentationTextLengthsBySlide as jr, getTableStyleFlags as js, SlideBackground as jt, setShape3D as ju, PresentationImageEntry as k, getShapeParagraphCount as ka, PlainChartSeries as kc, getShapeStrokeCompound as kd, getShapeRotation as kf, getSlideMasterLayouts as ki, getSlideCommentAuthors as kl, SchemeColorToken as km, findShapesWithMedia as kn, getShapeImageOpacity as ko, LayoutPlaceholderKind as kp, getPresentationText as kr, getTableRowHeights as ks, getSlideMasterBackgroundStyles as kt, getShapeEffects as ku, getCollapsedOutlineSlides as l, bringShapeForward as la, getShapeChartCategories as lc, getShapeGradientFill as ld, getGroupChildren as lf, getCoreProperties as li, clearSlideComments as ll, toWritableTextFormat as lm, ImageTileAlignment as ln, ImageCrop as lo, CommentAuthor as lp, mergePresentations as lr, getPresentationTableCountsBySlide as ls, getSlidesWithOverlap as lt, setShapeText as lu, setDrawingGuides as m, removeShape as ma, getSlideCharts as mc, getPresentationFonts as md, getShapeAdjustValues as mf, setCoreProperties as mi, findCommentsByText as ml, LineFill as mm, updateSlideAnimation as mn, findShapesOutsideCanvas as mo, AnimationInOut as mp, swapSlides as mr, getTableCellAnchor as ms, replaceHyperlink as mt, setShapeTextColumns as mu, SlideShowProperties as n, setSlideLayoutName as na, addSlideChart as nc, setShapeStroke as nd, replaceTokensInSlide as nf, slideHasAnimations as ni, ShapeClickAction as nl, ParagraphSpec as nm, setSlideBackground as nn, setShapeAnimation as no, SlideCommentData as np, addSectionHeaderSlide as nr, ValidationIssue as ns, getSlideNotesParagraphEndFormat as nt, getShapeTextDirection as nu, getShapeImageIntrinsicSize as o, addSlideShape as oa, findChartsWithTrendlines as oc, setShapeStrokeDash as od, centerShapeOnSlide as of, setThumbnail as oi, setShapeImage as ol, TextFill as om, setSlideBackgroundImageOpacity as on, AnimationValueAfterEnd as oo, TableCellData as op, duplicateSlide as or, TableCellBorders as os, getSlidesWithHyperlinks as ot, setShapeAlignment as ou, getSnapToGrid as p, getShapeZIndex as pa, getShapeChartSpec as pc, PresentationTheme as pd, getPresetGeometry as pf, incrementRevision as pi, findCommentsByAuthor as pl, LineEndType as pm, removeSlideAnimation as pn, findOverlappingShapePairs as po, AnimationEffect as pp, sortSlides as pr, getTableCellAlignment as ps, removeSlideNotes as pt, setShapeTextBodyRotationDeg as pu, getEmptySlides as q, getSlideBody as qa, ChartSecondaryValueAxis as qc, findSlidePlaceholderByIdx as qd, SlideSection as qf, getSlideLayoutPlaceholders as qi, TextWrap as ql, setShapeAspectRatioLocked as qn, getPackageSize as qo, LightRigType as qp, isSlideLayoutBackgroundGraphicsHidden as qr, setTableCellText as qs, getSlideLayoutBackgroundImageBytes as qt, setShapeImageFill as qu, getSlideShowProperties as r, setSlideLayoutPlaceholderBounds as ra, findChartByKind as rc, setShapeStrokeArrow as rd, setSlideLayout as rf, PresentationThumbnail as ri, getShapeClickAction as rl, RunSpec as rm, setSlideBackgroundGradientFill as rn, AnimationSequenceKind as ro, SlideData as rp, addSlide as rr, TableBackgroundEffective as rs, getSlideNotesTextFormats as rt, getShapeTextFlat as ru, setShapeImageFillLayout as s, addSlideTable as sa, getPresentationChartCountsBySlide as sc, setShapeStrokeJoin as sd, findShapesAtPoint as sf, CoreProperties as si, addSlideComment as sl, TextFormat as sm, setSlideBackgroundPatternFill as sn, SlideAnimationStep as so, COMMENT_STATUSES as sp, duplicateSlideAt as sr, TableCellParagraph as ss, getSlidesWithImages as st, setShapeBulletStyle as su, VERSION as t, setSlideLayoutBackground as ta, SlideChartData as tc, setShapeSlideBackgroundFill as td, getSlidesWithEmptyPlaceholders as tf, setSlideHidden as ti, ReadChartSpec as tl, ParagraphAlignmentToken as tm, getSlideMasterShapes as tn, getSlideAnimations as to, PresentationData as tp, addContentSlide as tr, IssueSeverity as ts, getSlideNotesLineBreaks as tt, getShapeTextColumns as tu, getDrawingGuides as u, bringShapeToFront as ua, getShapeChartKind as uc, getShapeGradientFillEffective as ud, getGroupTransform as uf, getExtendedProperties as ui, findCommentAuthorByName as ul, ArrowOptions as um, ImageTileFlip as un, ImageRecolor as uo, CommentPosition as up, moveSlide as ur, getSlideTables as us, getSlidesWithTables as ut, setShapeText3D as uu, setSnapToGrid as v, ShapeParagraphElement as va, BubbleChartSpec as vc, ShapeFill as vd, getShapeCenter as vf, getHandoutMasterPlaceholders as vi, getCommentDate as vl, GradientStop as vm, getShapePictureStyle as vn, getPresentationImageCountsBySlide as vo, AnimationStartCondition as vp, AllShapesEntry as vr, getTableCellMargins as vs, transformSlideNotesCase as vt, setShapeTextFormat as vu, getSlideSize as w, getParagraphIndent as wa, DoughnutChartSpec as wc, getShapeFillOpacity as wd, getShapeName as wf, setNotesMasterPlaceholderIncluded as wi, getCommentText as wl, InnerShadowOptions as wm, MediaTrim as wn, getShapeImageCrop as wo, SlideTransition as wp, findSlidesByNotes as wr, getTableCellText3D as ws, setSlideTransition as wt, ShapeEffectAny as wu, SLIDE_SIZE_4_3 as x, getParagraphBulletImageBytes as xa, ChartVariant as xc, getShapeFillColor as xd, getShapeFlip as xf, getNotesPageSize as xi, getCommentPosition as xl, ReadGradientFill as xm, MediaBookmark as xn, getShapeImageBrightness as xo, AnimationScaleDirection as xp, findSlideByPartName as xr, getTableCellRunFormatEffective as xs, clearSlideTransition as xt, TextCase as xu, SLIDE_SIZE_16_10 as y, getParagraphAlignment as ya, CandlestickChartSpec as yc, ShapeStroke as yd, getShapeCustomGeometry as yf, getHandoutSlidesPerPage as yi, getCommentFormat as yl, PatternFillOptions as ym, setShapeImageCompressionState as yn, getShapeImageArtisticEffect as yo, AnimationTextBuild as yp, SlideInfo as yr, getTableCellParagraphs as ys, TransitionSound as yt, setShapeTextMargins as yu, findSlidesWithChartTrendlines as z, setParagraphIndent as za, ChartDataTable as zc, findShapeInPresentation as zd, isShapeTextBox as zf, setSlideMasterPlaceholderIncluded as zi, getShapeRunFormatEffective as zl, emu as zm, getParagraphElementLanguages as zn, setShapeImageRecolor as zo, GeomPath as zp, getSlidePartName as zr, removeTableRow as zs, getSlideBackgroundImageCrop as zt, getShapePatternFill as zu };
8757
+ //# sourceMappingURL=index-WCK8v0WT.d.ts.map