@office-open/core 0.6.4 → 0.6.5

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.
@@ -0,0 +1,3127 @@
1
+ import { C as XmlComponent, a as BuilderElement } from "./index-B1wzvu1m.mjs";
2
+
3
+ //#region src/drawingml/color/color-transform.d.ts
4
+ /**
5
+ * Options for color transforms.
6
+ *
7
+ * All percentage values are in 1/1000th of a percent (e.g., 50000 = 50%).
8
+ * Angle values are in 60,000ths of a degree.
9
+ *
10
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, EG_ColorTransform
11
+ */
12
+ interface ColorTransformOptions {
13
+ /** Tint: moves color toward white (0-100000) */
14
+ readonly tint?: number;
15
+ /** Shade: moves color toward black (0-100000) */
16
+ readonly shade?: number;
17
+ /** Complement: inverts the color (no value) */
18
+ readonly comp?: boolean;
19
+ /** Inverse: inverts the color (no value) */
20
+ readonly inv?: boolean;
21
+ /** Grayscale: converts to grayscale (no value) */
22
+ readonly gray?: boolean;
23
+ /** Alpha: sets transparency (0-100000) */
24
+ readonly alpha?: number;
25
+ /** Alpha offset: adjusts alpha by fixed amount (-100000 to 100000) */
26
+ readonly alphaOff?: number;
27
+ /** Alpha modulation: scales alpha by percentage (0-100000) */
28
+ readonly alphaMod?: number;
29
+ /** Hue: sets hue angle (0-21600000) */
30
+ readonly hue?: number;
31
+ /** Hue offset: adjusts hue by angle (-5400000 to 5400000) */
32
+ readonly hueOff?: number;
33
+ /** Hue modulation: scales hue by percentage (0-100000) */
34
+ readonly hueMod?: number;
35
+ /** Saturation: sets saturation (-100000 to 100000) */
36
+ readonly sat?: number;
37
+ /** Saturation offset: adjusts saturation (-100000 to 100000) */
38
+ readonly satOff?: number;
39
+ /** Saturation modulation: scales saturation (0-100000) */
40
+ readonly satMod?: number;
41
+ /** Luminance: sets luminance (-100000 to 100000) */
42
+ readonly lum?: number;
43
+ /** Luminance offset: adjusts luminance (-100000 to 100000) */
44
+ readonly lumOff?: number;
45
+ /** Luminance modulation: scales luminance (0-100000) */
46
+ readonly lumMod?: number;
47
+ /** Red: sets red channel (-100000 to 100000) */
48
+ readonly red?: number;
49
+ /** Red offset: adjusts red channel (-100000 to 100000) */
50
+ readonly redOff?: number;
51
+ /** Red modulation: scales red channel (0-100000) */
52
+ readonly redMod?: number;
53
+ /** Green: sets green channel (-100000 to 100000) */
54
+ readonly green?: number;
55
+ /** Green offset: adjusts green channel (-100000 to 100000) */
56
+ readonly greenOff?: number;
57
+ /** Green modulation: scales green channel (0-100000) */
58
+ readonly greenMod?: number;
59
+ /** Blue: sets blue channel (-100000 to 100000) */
60
+ readonly blue?: number;
61
+ /** Blue offset: adjusts blue channel (-100000 to 100000) */
62
+ readonly blueOff?: number;
63
+ /** Blue modulation: scales blue channel (0-100000) */
64
+ readonly blueMod?: number;
65
+ /** Gamma correction (no value) */
66
+ readonly gamma?: boolean;
67
+ /** Inverse gamma correction (no value) */
68
+ readonly invGamma?: boolean;
69
+ }
70
+ /**
71
+ * Creates color transform child elements.
72
+ *
73
+ * These elements modify the parent color according to OOXML color transform rules.
74
+ * Multiple transforms can be applied in sequence.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // Lighten accent1 by 40%
79
+ * createColorTransforms({ tint: 40000 });
80
+ * // Semi-transparent red with 50% alpha
81
+ * createColorTransforms({ alpha: 50000 });
82
+ * ```
83
+ */
84
+ declare const createColorTransforms: (options: ColorTransformOptions) => readonly XmlComponent[];
85
+ //#endregion
86
+ //#region src/drawingml/color/hsl-color.d.ts
87
+ /**
88
+ * Options for HSL color.
89
+ */
90
+ interface HslColorOptions {
91
+ /** Hue angle in 60,000ths of a degree (0-21600000) */
92
+ readonly hue: number;
93
+ /** Saturation in 1/1000th of a percent (0-100000) */
94
+ readonly saturation: number;
95
+ /** Luminance in 1/1000th of a percent (0-100000) */
96
+ readonly luminance: number;
97
+ /** Optional color transforms */
98
+ readonly transforms?: ColorTransformOptions;
99
+ }
100
+ /**
101
+ * Creates an HSL color element.
102
+ *
103
+ * Specifies a color using Hue, Saturation, and Luminance values.
104
+ *
105
+ * ## XSD Schema
106
+ * ```xml
107
+ * <xsd:complexType name="CT_HslColor">
108
+ * <xsd:sequence>
109
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
110
+ * </xsd:sequence>
111
+ * <xsd:attribute name="hue" type="ST_PositiveFixedAngle" use="required"/>
112
+ * <xsd:attribute name="sat" type="ST_Percentage" use="required"/>
113
+ * <xsd:attribute name="lum" type="ST_Percentage" use="required"/>
114
+ * </xsd:complexType>
115
+ * ```
116
+ */
117
+ declare const createHslColor: (options: HslColorOptions) => XmlComponent;
118
+ //#endregion
119
+ //#region src/drawingml/color/preset-color.d.ts
120
+ /**
121
+ * Preset color values (CSS named colors).
122
+ *
123
+ * ## XSD Schema
124
+ * ```xml
125
+ * <xsd:simpleType name="ST_PresetColorVal">
126
+ * <xsd:restriction base="xsd:token">
127
+ * <xsd:enumeration value="aliceBlue"/>
128
+ * ...
129
+ * <xsd:enumeration value="yellowGreen"/>
130
+ * </xsd:restriction>
131
+ * </xsd:simpleType>
132
+ * ```
133
+ */
134
+ declare const PresetColor: {
135
+ readonly ALICE_BLUE: "aliceBlue";
136
+ readonly ANTIQUE_WHITE: "antiqueWhite";
137
+ readonly AQUA: "aqua";
138
+ readonly AQUAMARINE: "aquamarine";
139
+ readonly AZURE: "azure";
140
+ readonly BEIGE: "beige";
141
+ readonly BISQUE: "bisque";
142
+ readonly BLACK: "black";
143
+ readonly BLANCHED_ALMOND: "blanchedAlmond";
144
+ readonly BLUE: "blue";
145
+ readonly BLUE_VIOLET: "blueViolet";
146
+ readonly BROWN: "brown";
147
+ readonly BURLY_WOOD: "burlyWood";
148
+ readonly CADET_BLUE: "cadetBlue";
149
+ readonly CHARTREUSE: "chartreuse";
150
+ readonly CHOCOLATE: "chocolate";
151
+ readonly CORAL: "coral";
152
+ readonly CORNFLOWER_BLUE: "cornflowerBlue";
153
+ readonly CORNSILK: "cornsilk";
154
+ readonly CRIMSON: "crimson";
155
+ readonly CYAN: "cyan";
156
+ readonly DARK_BLUE: "darkBlue";
157
+ readonly DARK_CYAN: "darkCyan";
158
+ readonly DARK_GOLDENROD: "darkGoldenrod";
159
+ readonly DARK_GRAY: "darkGray";
160
+ readonly DARK_GREY: "darkGrey";
161
+ readonly DARK_GREEN: "darkGreen";
162
+ readonly DARK_KHAKI: "darkKhaki";
163
+ readonly DARK_MAGENTA: "darkMagenta";
164
+ readonly DARK_OLIVE_GREEN: "darkOliveGreen";
165
+ readonly DARK_ORANGE: "darkOrange";
166
+ readonly DARK_ORCHID: "darkOrchid";
167
+ readonly DARK_RED: "darkRed";
168
+ readonly DARK_SALMON: "darkSalmon";
169
+ readonly DARK_SEA_GREEN: "darkSeaGreen";
170
+ readonly DARK_SLATE_BLUE: "darkSlateBlue";
171
+ readonly DARK_SLATE_GRAY: "darkSlateGray";
172
+ readonly DARK_SLATE_GREY: "darkSlateGrey";
173
+ readonly DARK_TURQUOISE: "darkTurquoise";
174
+ readonly DARK_VIOLET: "darkViolet";
175
+ readonly DEEP_PINK: "deepPink";
176
+ readonly DEEP_SKY_BLUE: "deepSkyBlue";
177
+ readonly DIM_GRAY: "dimGray";
178
+ readonly DIM_GREY: "dimGrey";
179
+ readonly DODGER_BLUE: "dodgerBlue";
180
+ readonly FIREBRICK: "firebrick";
181
+ readonly FLORAL_WHITE: "floralWhite";
182
+ readonly FOREST_GREEN: "forestGreen";
183
+ readonly FUCHSIA: "fuchsia";
184
+ readonly GAINSBORO: "gainsboro";
185
+ readonly GHOST_WHITE: "ghostWhite";
186
+ readonly GOLD: "gold";
187
+ readonly GOLDENROD: "goldenrod";
188
+ readonly GRAY: "gray";
189
+ readonly GREY: "grey";
190
+ readonly GREEN: "green";
191
+ readonly GREEN_YELLOW: "greenYellow";
192
+ readonly HONEYDEW: "honeydew";
193
+ readonly HOT_PINK: "hotPink";
194
+ readonly INDIAN_RED: "indianRed";
195
+ readonly INDIGO: "indigo";
196
+ readonly IVORY: "ivory";
197
+ readonly KHAKI: "khaki";
198
+ readonly LAVENDER: "lavender";
199
+ readonly LAVENDER_BLUSH: "lavenderBlush";
200
+ readonly LAWN_GREEN: "lawnGreen";
201
+ readonly LEMON_CHIFFON: "lemonChiffon";
202
+ readonly LIGHT_BLUE: "lightBlue";
203
+ readonly LIGHT_CORAL: "lightCoral";
204
+ readonly LIGHT_CYAN: "lightCyan";
205
+ readonly LIGHT_GOLDENROD_YELLOW: "lightGoldenrodYellow";
206
+ readonly LIGHT_GRAY: "lightGray";
207
+ readonly LIGHT_GREY: "lightGrey";
208
+ readonly LIGHT_GREEN: "lightGreen";
209
+ readonly LIGHT_PINK: "lightPink";
210
+ readonly LIGHT_SALMON: "lightSalmon";
211
+ readonly LIGHT_SEA_GREEN: "lightSeaGreen";
212
+ readonly LIGHT_SKY_BLUE: "lightSkyBlue";
213
+ readonly LIGHT_SLATE_GRAY: "lightSlateGray";
214
+ readonly LIGHT_SLATE_GREY: "lightSlateGrey";
215
+ readonly LIGHT_STEEL_BLUE: "lightSteelBlue";
216
+ readonly LIGHT_YELLOW: "lightYellow";
217
+ readonly LIME: "lime";
218
+ readonly LIME_GREEN: "limeGreen";
219
+ readonly LINEN: "linen";
220
+ readonly MAGENTA: "magenta";
221
+ readonly MAROON: "maroon";
222
+ readonly MEDIUM_AQUAMARINE: "mediumAquamarine";
223
+ readonly MEDIUM_BLUE: "mediumBlue";
224
+ readonly MEDIUM_ORCHID: "mediumOrchid";
225
+ readonly MEDIUM_PURPLE: "mediumPurple";
226
+ readonly MEDIUM_SEA_GREEN: "mediumSeaGreen";
227
+ readonly MEDIUM_SLATE_BLUE: "mediumSlateBlue";
228
+ readonly MEDIUM_SPRING_GREEN: "mediumSpringGreen";
229
+ readonly MEDIUM_TURQUOISE: "mediumTurquoise";
230
+ readonly MEDIUM_VIOLET_RED: "mediumVioletRed";
231
+ readonly MIDNIGHT_BLUE: "midnightBlue";
232
+ readonly MINT_CREAM: "mintCream";
233
+ readonly MISTY_ROSE: "mistyRose";
234
+ readonly MOCCASIN: "moccasin";
235
+ readonly NAVAJO_WHITE: "navajoWhite";
236
+ readonly NAVY: "navy";
237
+ readonly OLD_LACE: "oldLace";
238
+ readonly OLIVE: "olive";
239
+ readonly OLIVE_DRAB: "oliveDrab";
240
+ readonly ORANGE: "orange";
241
+ readonly ORANGE_RED: "orangeRed";
242
+ readonly ORCHID: "orchid";
243
+ readonly PALE_GOLDENROD: "paleGoldenrod";
244
+ readonly PALE_GREEN: "paleGreen";
245
+ readonly PALE_TURQUOISE: "paleTurquoise";
246
+ readonly PALE_VIOLET_RED: "paleVioletRed";
247
+ readonly PAPAYA_WHIP: "papayaWhip";
248
+ readonly PEACH_PUFF: "peachPuff";
249
+ readonly PERU: "peru";
250
+ readonly PINK: "pink";
251
+ readonly PLUM: "plum";
252
+ readonly POWDER_BLUE: "powderBlue";
253
+ readonly PURPLE: "purple";
254
+ readonly RED: "red";
255
+ readonly ROSY_BROWN: "rosyBrown";
256
+ readonly ROYAL_BLUE: "royalBlue";
257
+ readonly SADDLE_BROWN: "saddleBrown";
258
+ readonly SALMON: "salmon";
259
+ readonly SANDY_BROWN: "sandyBrown";
260
+ readonly SEA_GREEN: "seaGreen";
261
+ readonly SEA_SHELL: "seaShell";
262
+ readonly SIENNA: "sienna";
263
+ readonly SILVER: "silver";
264
+ readonly SKY_BLUE: "skyBlue";
265
+ readonly SLATE_BLUE: "slateBlue";
266
+ readonly SLATE_GRAY: "slateGray";
267
+ readonly SLATE_GREY: "slateGrey";
268
+ readonly SNOW: "snow";
269
+ readonly SPRING_GREEN: "springGreen";
270
+ readonly STEEL_BLUE: "steelBlue";
271
+ readonly TAN: "tan";
272
+ readonly TEAL: "teal";
273
+ readonly THISTLE: "thistle";
274
+ readonly TOMATO: "tomato";
275
+ readonly TURQUOISE: "turquoise";
276
+ readonly VIOLET: "violet";
277
+ readonly WHEAT: "wheat";
278
+ readonly WHITE: "white";
279
+ readonly WHITE_SMOKE: "whiteSmoke";
280
+ readonly YELLOW: "yellow";
281
+ readonly YELLOW_GREEN: "yellowGreen";
282
+ };
283
+ /**
284
+ * Options for preset color.
285
+ */
286
+ interface PresetColorOptions {
287
+ /** Preset color value */
288
+ readonly value: (typeof PresetColor)[keyof typeof PresetColor];
289
+ /** Optional color transforms */
290
+ readonly transforms?: ColorTransformOptions;
291
+ }
292
+ /**
293
+ * Creates a preset color element.
294
+ *
295
+ * Specifies a color using a named preset (CSS named color).
296
+ *
297
+ * ## XSD Schema
298
+ * ```xml
299
+ * <xsd:complexType name="CT_PresetColor">
300
+ * <xsd:sequence>
301
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
302
+ * </xsd:sequence>
303
+ * <xsd:attribute name="val" type="ST_PresetColorVal" use="required"/>
304
+ * </xsd:complexType>
305
+ * ```
306
+ */
307
+ declare const createPresetColor: (options: PresetColorOptions) => XmlComponent;
308
+ //#endregion
309
+ //#region src/drawingml/color/rgb-color.d.ts
310
+ /**
311
+ * Options for RGB color.
312
+ */
313
+ interface RgbColorOptions {
314
+ /** Hex color value (e.g., "FF0000" for red) */
315
+ readonly value: string;
316
+ /** Optional color transforms */
317
+ readonly transforms?: ColorTransformOptions;
318
+ }
319
+ /**
320
+ * Creates an sRGB color element.
321
+ *
322
+ * Specifies a color using RGB hex values.
323
+ *
324
+ * ## XSD Schema
325
+ * ```xml
326
+ * <xsd:complexType name="CT_SRgbColor">
327
+ * <xsd:sequence>
328
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
329
+ * </xsd:sequence>
330
+ * <xsd:attribute name="val" type="s:ST_HexColorRGB" use="required"/>
331
+ * </xsd:complexType>
332
+ * ```
333
+ *
334
+ * @example
335
+ * ```typescript
336
+ * const redColor = createRgbColor({ value: "FF0000" });
337
+ * // With alpha transform
338
+ * const semiRed = createRgbColor({ value: "FF0000", transforms: { alpha: 50000 } });
339
+ * ```
340
+ */
341
+ declare const createRgbColor: (options: RgbColorOptions) => XmlComponent;
342
+ //#endregion
343
+ //#region src/drawingml/color/sc-rgb-color.d.ts
344
+ /**
345
+ * Options for scRGB color.
346
+ */
347
+ interface ScRgbColorOptions {
348
+ /** Red percentage (e.g., "50%" or "100%") */
349
+ readonly r: string;
350
+ /** Green percentage (e.g., "50%" or "100%") */
351
+ readonly g: string;
352
+ /** Blue percentage (e.g., "50%" or "100%") */
353
+ readonly b: string;
354
+ /** Optional color transforms */
355
+ readonly transforms?: ColorTransformOptions;
356
+ }
357
+ /**
358
+ * Creates an scRGB color element.
359
+ *
360
+ * Specifies a color using percentage-based RGB values.
361
+ *
362
+ * ## XSD Schema
363
+ * ```xml
364
+ * <xsd:complexType name="CT_ScRgbColor">
365
+ * <xsd:sequence>
366
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
367
+ * </xsd:sequence>
368
+ * <xsd:attribute name="r" type="ST_Percentage" use="required"/>
369
+ * <xsd:attribute name="g" type="ST_Percentage" use="required"/>
370
+ * <xsd:attribute name="b" type="ST_Percentage" use="required"/>
371
+ * </xsd:complexType>
372
+ * ```
373
+ *
374
+ * @example
375
+ * ```typescript
376
+ * const redColor = createScRgbColor({ r: "100%", g: "0%", b: "0%" });
377
+ * // With alpha transform
378
+ * const semiRed = createScRgbColor({ r: "100%", g: "0%", b: "0%", transforms: { alpha: 50000 } });
379
+ * ```
380
+ */
381
+ declare const createScRgbColor: (options: ScRgbColorOptions) => XmlComponent;
382
+ //#endregion
383
+ //#region src/drawingml/color/scheme-color.d.ts
384
+ /**
385
+ * Options for scheme color.
386
+ */
387
+ interface SchemeColorOptions {
388
+ /** Scheme color value */
389
+ readonly value: (typeof SchemeColor)[keyof typeof SchemeColor];
390
+ /** Optional color transforms */
391
+ readonly transforms?: ColorTransformOptions;
392
+ }
393
+ /**
394
+ * Scheme color values for theme-based colors.
395
+ *
396
+ * These values reference colors defined in the document's color scheme/theme.
397
+ */
398
+ declare const SchemeColor: {
399
+ /** Background color 1 */readonly BG1: "bg1"; /** Text color 1 */
400
+ readonly TX1: "tx1"; /** Background color 2 */
401
+ readonly BG2: "bg2"; /** Text color 2 */
402
+ readonly TX2: "tx2"; /** Accent color 1 */
403
+ readonly ACCENT1: "accent1"; /** Accent color 2 */
404
+ readonly ACCENT2: "accent2"; /** Accent color 3 */
405
+ readonly ACCENT3: "accent3"; /** Accent color 4 */
406
+ readonly ACCENT4: "accent4"; /** Accent color 5 */
407
+ readonly ACCENT5: "accent5"; /** Accent color 6 */
408
+ readonly ACCENT6: "accent6"; /** Hyperlink color */
409
+ readonly HLINK: "hlink"; /** Followed hyperlink color */
410
+ readonly FOLHLINK: "folHlink"; /** Dark color 1 */
411
+ readonly DK1: "dk1"; /** Light color 1 */
412
+ readonly LT1: "lt1"; /** Dark color 2 */
413
+ readonly DK2: "dk2"; /** Light color 2 */
414
+ readonly LT2: "lt2"; /** Placeholder color */
415
+ readonly PHCLR: "phClr";
416
+ };
417
+ /**
418
+ * Creates a scheme color element.
419
+ *
420
+ * Specifies a color using a theme color scheme reference.
421
+ *
422
+ * ## XSD Schema
423
+ * ```xml
424
+ * <xsd:complexType name="CT_SchemeColor">
425
+ * <xsd:sequence>
426
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
427
+ * </xsd:sequence>
428
+ * <xsd:attribute name="val" type="ST_SchemeColorVal" use="required"/>
429
+ * </xsd:complexType>
430
+ * ```
431
+ *
432
+ * @example
433
+ * ```typescript
434
+ * const accentColor = createSchemeColor({ value: SchemeColor.ACCENT1 });
435
+ * // With tint transform
436
+ * const lightAccent = createSchemeColor({
437
+ * value: SchemeColor.ACCENT1,
438
+ * transforms: { tint: 40000 },
439
+ * });
440
+ * ```
441
+ */
442
+ declare const createSchemeColor: (options: SchemeColorOptions) => XmlComponent;
443
+ //#endregion
444
+ //#region src/drawingml/color/system-color.d.ts
445
+ /**
446
+ * System color values referencing OS UI colors.
447
+ *
448
+ * ## XSD Schema
449
+ * ```xml
450
+ * <xsd:simpleType name="ST_SystemColorVal">
451
+ * <xsd:restriction base="xsd:token">
452
+ * <xsd:enumeration value="scrollBar"/>
453
+ * <xsd:enumeration value="background"/>
454
+ * ...
455
+ * <xsd:enumeration value="menuBar"/>
456
+ * </xsd:restriction>
457
+ * </xsd:simpleType>
458
+ * ```
459
+ */
460
+ declare const SystemColor: {
461
+ readonly SCROLL_BAR: "scrollBar";
462
+ readonly BACKGROUND: "background";
463
+ readonly ACTIVE_CAPTION: "activeCaption";
464
+ readonly INACTIVE_CAPTION: "inactiveCaption";
465
+ readonly MENU: "menu";
466
+ readonly WINDOW: "window";
467
+ readonly WINDOW_FRAME: "windowFrame";
468
+ readonly MENU_TEXT: "menuText";
469
+ readonly WINDOW_TEXT: "windowText";
470
+ readonly CAPTION_TEXT: "captionText";
471
+ readonly ACTIVE_BORDER: "activeBorder";
472
+ readonly INACTIVE_BORDER: "inactiveBorder";
473
+ readonly APP_WORKSPACE: "appWorkspace";
474
+ readonly HIGHLIGHT: "highlight";
475
+ readonly HIGHLIGHT_TEXT: "highlightText";
476
+ readonly BTN_FACE: "btnFace";
477
+ readonly BTN_SHADOW: "btnShadow";
478
+ readonly GRAY_TEXT: "grayText";
479
+ readonly BTN_TEXT: "btnText";
480
+ readonly INACTIVE_CAPTION_TEXT: "inactiveCaptionText";
481
+ readonly BTN_HIGHLIGHT: "btnHighlight";
482
+ readonly THREE_D_DK_SHADOW: "3dDkShadow";
483
+ readonly THREE_D_LIGHT: "3dLight";
484
+ readonly INFO_TEXT: "infoText";
485
+ readonly INFO_BK: "infoBk";
486
+ readonly HOT_LIGHT: "hotLight";
487
+ readonly GRADIENT_ACTIVE_CAPTION: "gradientActiveCaption";
488
+ readonly GRADIENT_INACTIVE_CAPTION: "gradientInactiveCaption";
489
+ readonly MENU_HIGHLIGHT: "menuHighlight";
490
+ readonly MENU_BAR: "menuBar";
491
+ };
492
+ /**
493
+ * Options for system color.
494
+ */
495
+ interface SystemColorOptions {
496
+ /** System color value */
497
+ readonly value: (typeof SystemColor)[keyof typeof SystemColor];
498
+ /** Last known RGB color value (optional fallback) */
499
+ readonly lastClr?: string;
500
+ /** Optional color transforms */
501
+ readonly transforms?: ColorTransformOptions;
502
+ }
503
+ /**
504
+ * Creates a system color element.
505
+ *
506
+ * References a system-defined UI color (e.g., window background, button face).
507
+ *
508
+ * ## XSD Schema
509
+ * ```xml
510
+ * <xsd:complexType name="CT_SystemColor">
511
+ * <xsd:sequence>
512
+ * <xsd:group ref="EG_ColorTransform" minOccurs="0" maxOccurs="unbounded"/>
513
+ * </xsd:sequence>
514
+ * <xsd:attribute name="val" type="ST_SystemColorVal" use="required"/>
515
+ * <xsd:attribute name="lastClr" type="s:ST_HexColorRGB" use="optional"/>
516
+ * </xsd:complexType>
517
+ * ```
518
+ */
519
+ declare const createSystemColor: (options: SystemColorOptions) => XmlComponent;
520
+ //#endregion
521
+ //#region src/drawingml/color/solid-fill.d.ts
522
+ /**
523
+ * Union type for all color options supported by solid fill.
524
+ *
525
+ * Extends the original pattern with additional color types:
526
+ * RGB, scheme, HSL, system, and preset colors.
527
+ */
528
+ type SolidFillOptions = ScRgbColorOptions | RgbColorOptions | SchemeColorOptions | HslColorOptions | SystemColorOptions | PresetColorOptions;
529
+ declare const createColorElement: (color: SolidFillOptions) => XmlComponent;
530
+ /**
531
+ * Creates a solid fill element.
532
+ *
533
+ * Specifies a solid color fill using any supported color type.
534
+ *
535
+ * ## XSD Schema
536
+ * ```xml
537
+ * <xsd:complexType name="CT_SolidColorFillProperties">
538
+ * <xsd:sequence>
539
+ * <xsd:group ref="EG_ColorChoice" minOccurs="0"/>
540
+ * <xsd:group ref="EG_EffectProperties" minOccurs="0"/>
541
+ * </xsd:sequence>
542
+ * </xsd:complexType>
543
+ * ```
544
+ *
545
+ * @example
546
+ * ```typescript
547
+ * // RGB solid fill
548
+ * const fill = createSolidFill({ value: "FF0000" });
549
+ * // Scheme solid fill with tint
550
+ * const schemeFill = createSolidFill({
551
+ * value: SchemeColor.ACCENT1, transforms: { tint: 40000 },
552
+ * });
553
+ * // HSL solid fill
554
+ * const hslFill = createSolidFill({ hue: 120000, saturation: 100000, luminance: 50000 });
555
+ * ```
556
+ */
557
+ declare const createSolidFill: (options: SolidFillOptions) => XmlComponent;
558
+ //#endregion
559
+ //#region src/drawingml/blip/blip-effects.d.ts
560
+ /**
561
+ * Options for luminance (brightness/contrast) effect.
562
+ *
563
+ * ## XSD: CT_LuminanceEffect
564
+ * ```xml
565
+ * <xsd:attribute name="bright" type="ST_FixedPercentage" default="0%"/>
566
+ * <xsd:attribute name="contrast" type="ST_FixedPercentage" default="0%"/>
567
+ * ```
568
+ */
569
+ interface LuminanceEffectOptions$1 {
570
+ /** Brightness adjustment in percentage points (-100 to 100). Default 0. */
571
+ readonly bright?: number;
572
+ /** Contrast adjustment in percentage points (-100 to 100). Default 0. */
573
+ readonly contrast?: number;
574
+ }
575
+ /**
576
+ * Options for HSL effect.
577
+ *
578
+ * ## XSD: CT_HSLEffect
579
+ * ```xml
580
+ * <xsd:attribute name="hue" type="ST_PositiveFixedAngle" default="0"/>
581
+ * <xsd:attribute name="sat" type="ST_FixedPercentage" default="0%"/>
582
+ * <xsd:attribute name="lum" type="ST_FixedPercentage" default="0%"/>
583
+ * ```
584
+ */
585
+ interface HSLEffectOptions$1 {
586
+ /** Hue rotation in 60000ths of a degree. Default 0. */
587
+ readonly hue?: number;
588
+ /** Saturation adjustment in percentage points (-100 to 100). Default 0. */
589
+ readonly saturation?: number;
590
+ /** Luminance adjustment in percentage points (-100 to 100). Default 0. */
591
+ readonly luminance?: number;
592
+ }
593
+ /**
594
+ * Options for tint effect.
595
+ *
596
+ * ## XSD: CT_TintEffect
597
+ * ```xml
598
+ * <xsd:attribute name="hue" type="ST_PositiveFixedAngle" default="0"/>
599
+ * <xsd:attribute name="amt" type="ST_FixedPercentage" default="0%"/>
600
+ * ```
601
+ */
602
+ interface TintEffectOptions$1 {
603
+ /** Hue in 60000ths of a degree. Default 0. */
604
+ readonly hue?: number;
605
+ /** Amount in percentage points (0 to 100). Default 0. */
606
+ readonly amount?: number;
607
+ }
608
+ /**
609
+ * Options for duotone effect.
610
+ *
611
+ * ## XSD: CT_DuotoneEffect
612
+ * ```xml
613
+ * <xsd:group ref="EG_ColorChoice" minOccurs="2" maxOccurs="2"/>
614
+ * ```
615
+ */
616
+ interface DuotoneEffectOptions$1 {
617
+ /** First color (dark). */
618
+ readonly color1: SolidFillOptions;
619
+ /** Second color (light). */
620
+ readonly color2: SolidFillOptions;
621
+ }
622
+ /**
623
+ * Options for biLevel (black & white threshold) effect.
624
+ *
625
+ * ## XSD: CT_BiLevelEffect
626
+ * ```xml
627
+ * <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/>
628
+ * ```
629
+ */
630
+ interface BiLevelEffectOptions {
631
+ /** Threshold percentage (0 to 100). Pixels above are white, below are black. */
632
+ readonly threshold: number;
633
+ }
634
+ /**
635
+ * Options for alpha replace effect.
636
+ *
637
+ * ## XSD: CT_AlphaReplaceEffect
638
+ * ```xml
639
+ * <xsd:attribute name="a" type="ST_PositiveFixedPercentage" use="required"/>
640
+ * ```
641
+ */
642
+ interface AlphaReplaceEffectOptions$1 {
643
+ /** Alpha percentage (0 = fully transparent, 100 = fully opaque). */
644
+ readonly amount: number;
645
+ }
646
+ /**
647
+ * Options for alpha bi-level effect.
648
+ *
649
+ * ## XSD: CT_AlphaBiLevelEffect
650
+ * ```xml
651
+ * <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/>
652
+ * ```
653
+ */
654
+ interface AlphaBiLevelEffectOptions$1 {
655
+ /** Threshold percentage (0 to 100). Alpha above is fully opaque, below is fully transparent. */
656
+ readonly threshold: number;
657
+ }
658
+ /**
659
+ * Options for alpha modulate fixed effect.
660
+ *
661
+ * ## XSD: CT_AlphaModulateFixedEffect
662
+ * ```xml
663
+ * <xsd:attribute name="amt" type="ST_PositivePercentage" default="100%"/>
664
+ * ```
665
+ */
666
+ interface AlphaModulateFixedEffectOptions$1 {
667
+ /** Alpha amount in percentage (0 to 100). Default 100. */
668
+ readonly amount?: number;
669
+ }
670
+ /**
671
+ * Options for color change effect.
672
+ *
673
+ * ## XSD: CT_ColorChangeEffect
674
+ * ```xml
675
+ * <xsd:element name="clrFrom" type="CT_Color"/>
676
+ * <xsd:element name="clrTo" type="CT_Color"/>
677
+ * <xsd:attribute name="useA" type="xsd:boolean" default="true"/>
678
+ * ```
679
+ */
680
+ interface ColorChangeEffectOptions$1 {
681
+ /** Source color to change from. */
682
+ readonly from: SolidFillOptions;
683
+ /** Target color to change to. */
684
+ readonly to: SolidFillOptions;
685
+ /** Whether to use alpha channel. Default true. */
686
+ readonly useAlpha?: boolean;
687
+ }
688
+ /**
689
+ * Options for color replace effect.
690
+ *
691
+ * ## XSD: CT_ColorReplaceEffect
692
+ * ```xml
693
+ * <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/>
694
+ * ```
695
+ */
696
+ interface ColorReplaceEffectOptions {
697
+ /** Replacement color. */
698
+ readonly color: SolidFillOptions;
699
+ }
700
+ /**
701
+ * Options for blur effect on blip.
702
+ *
703
+ * ## XSD: CT_BlurEffect
704
+ * ```xml
705
+ * <xsd:attribute name="rad" type="ST_PositiveCoordinate" default="0"/>
706
+ * <xsd:attribute name="grow" type="xsd:boolean" default="true"/>
707
+ * ```
708
+ */
709
+ interface BlipBlurEffectOptions {
710
+ /** Blur radius in EMUs. Default 0. */
711
+ readonly radius?: number;
712
+ /** Whether to grow the blur boundary. Default true. */
713
+ readonly grow?: boolean;
714
+ }
715
+ /**
716
+ * All blip image adjustment effects.
717
+ */
718
+ interface BlipEffectsOptions {
719
+ /** Grayscale effect (no options needed). */
720
+ readonly grayscale?: boolean;
721
+ /** Luminance (brightness/contrast) effect. */
722
+ readonly luminance?: LuminanceEffectOptions$1;
723
+ /** HSL adjustment effect. */
724
+ readonly hsl?: HSLEffectOptions$1;
725
+ /** Tint effect. */
726
+ readonly tint?: TintEffectOptions$1;
727
+ /** Duotone effect (two-color mapping). */
728
+ readonly duotone?: DuotoneEffectOptions$1;
729
+ /** Black & white threshold effect. */
730
+ readonly biLevel?: BiLevelEffectOptions;
731
+ /** Alpha ceiling effect (no options needed). */
732
+ readonly alphaCeiling?: boolean;
733
+ /** Alpha floor effect (no options needed). */
734
+ readonly alphaFloor?: boolean;
735
+ /** Alpha inverse effect (with optional color). */
736
+ readonly alphaInverse?: SolidFillOptions;
737
+ /** Alpha modulate fixed effect. */
738
+ readonly alphaModFix?: AlphaModulateFixedEffectOptions$1;
739
+ /** Alpha replace effect. */
740
+ readonly alphaRepl?: AlphaReplaceEffectOptions$1;
741
+ /** Alpha bi-level effect. */
742
+ readonly alphaBiLevel?: AlphaBiLevelEffectOptions$1;
743
+ /** Color change effect. */
744
+ readonly colorChange?: ColorChangeEffectOptions$1;
745
+ /** Color replace effect. */
746
+ readonly colorRepl?: ColorReplaceEffectOptions;
747
+ /** Blur effect on blip. */
748
+ readonly blur?: BlipBlurEffectOptions;
749
+ }
750
+ /**
751
+ * Creates blip effect elements from BlipEffectsOptions.
752
+ *
753
+ * @returns Array of XML components representing blip effects
754
+ */
755
+ declare const createBlipEffects: (options: BlipEffectsOptions) => XmlComponent[];
756
+ //#endregion
757
+ //#region src/drawingml/blip/source-rectangle.d.ts
758
+ /**
759
+ * Options for source rectangle cropping.
760
+ *
761
+ * Each value is a percentage (0-100000) of the image dimension to crop.
762
+ * The values represent the inset from each edge.
763
+ */
764
+ interface SourceRectangleOptions {
765
+ /** Left inset percentage (0-100000) */
766
+ readonly left?: number;
767
+ /** Top inset percentage (0-100000) */
768
+ readonly top?: number;
769
+ /** Right inset percentage (0-100000) */
770
+ readonly right?: number;
771
+ /** Bottom inset percentage (0-100000) */
772
+ readonly bottom?: number;
773
+ }
774
+ /**
775
+ * Creates a source rectangle element for blip fill cropping.
776
+ *
777
+ * This element specifies a portion of the blip (image) to use as the fill.
778
+ * When no options are provided, the entire blip is used.
779
+ *
780
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, CT_RelativeRect
781
+ *
782
+ * ## XSD Schema
783
+ * ```xml
784
+ * <xsd:complexType name="CT_RelativeRect">
785
+ * <xsd:attribute name="l" type="ST_Percentage" use="optional" default="0"/>
786
+ * <xsd:attribute name="t" type="ST_Percentage" use="optional" default="0"/>
787
+ * <xsd:attribute name="r" type="ST_Percentage" use="optional" default="0"/>
788
+ * <xsd:attribute name="b" type="ST_Percentage" use="optional" default="0"/>
789
+ * </xsd:complexType>
790
+ * ```
791
+ *
792
+ * @example
793
+ * ```typescript
794
+ * // Crop 10% from left and right
795
+ * createSourceRectangle({ left: 10000, right: 10000 });
796
+ * ```
797
+ */
798
+ declare const createSourceRectangle: (options?: SourceRectangleOptions) => BuilderElement<{}>;
799
+ //#endregion
800
+ //#region src/drawingml/blip/tile.d.ts
801
+ /**
802
+ * Tile flip mode for tiling images.
803
+ *
804
+ * Specifies whether the image is flipped along the x-axis, y-axis,
805
+ * both axes, or not at all when tiling.
806
+ */
807
+ declare const TileFlipMode$1: {
808
+ /** No flipping */readonly NONE: "none"; /** Flip along x-axis */
809
+ readonly X: "x"; /** Flip along y-axis */
810
+ readonly Y: "y"; /** Flip along both axes */
811
+ readonly XY: "xy";
812
+ };
813
+ /**
814
+ * Tile alignment within the shape.
815
+ *
816
+ * Specifies the anchor position of the first tile relative to the shape.
817
+ */
818
+ declare const TileAlignment: {
819
+ /** Top-left corner */readonly TOP_LEFT: "topLeft"; /** Top center */
820
+ readonly TOP: "top"; /** Top-right corner */
821
+ readonly TOP_RIGHT: "topRight"; /** Middle-left */
822
+ readonly LEFT: "left"; /** Center */
823
+ readonly CENTER: "center"; /** Middle-right */
824
+ readonly RIGHT: "right"; /** Bottom-left corner */
825
+ readonly BOTTOM_LEFT: "bottomLeft"; /** Bottom center */
826
+ readonly BOTTOM: "bottom"; /** Bottom-right corner */
827
+ readonly BOTTOM_RIGHT: "bottomRight";
828
+ };
829
+ /**
830
+ * Options for tile fill mode.
831
+ *
832
+ * Configures how an image is tiled (repeated) to fill a shape.
833
+ */
834
+ interface TileOptions {
835
+ /** Horizontal offset for the tile origin (in EMUs) */
836
+ readonly tx?: number;
837
+ /** Vertical offset for the tile origin (in EMUs) */
838
+ readonly ty?: number;
839
+ /** Horizontal scale factor as percentage (e.g., 50 = 50%) */
840
+ readonly sx?: number;
841
+ /** Vertical scale factor as percentage (e.g., 50 = 50%) */
842
+ readonly sy?: number;
843
+ /** Flip mode for alternating tiles */
844
+ readonly flip?: (typeof TileFlipMode$1)[keyof typeof TileFlipMode$1];
845
+ /** Alignment of the first tile within the shape */
846
+ readonly align?: (typeof TileAlignment)[keyof typeof TileAlignment];
847
+ }
848
+ /**
849
+ * Creates a tile fill mode element for blip fills.
850
+ *
851
+ * When a blip fill uses tile mode, the image is repeated (tiled) to fill
852
+ * the shape instead of being stretched. This element controls the tiling
853
+ * parameters such as offset, scale, flip, and alignment.
854
+ *
855
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, CT_TileInfoProperties
856
+ *
857
+ * ## XSD Schema
858
+ * ```xml
859
+ * <xsd:complexType name="CT_TileInfoProperties">
860
+ * <xsd:attribute name="tx" type="ST_Coordinate" use="optional"/>
861
+ * <xsd:attribute name="ty" type="ST_Coordinate" use="optional"/>
862
+ * <xsd:attribute name="sx" type="ST_Percentage" use="optional"/>
863
+ * <xsd:attribute name="sy" type="ST_Percentage" use="optional"/>
864
+ * <xsd:attribute name="flip" type="ST_TileFlipMode" default="none"/>
865
+ * <xsd:attribute name="algn" type="ST_RectAlignment" use="optional"/>
866
+ * </xsd:complexType>
867
+ * ```
868
+ *
869
+ * @example
870
+ * ```typescript
871
+ * // Tile with 50% scale
872
+ * createTileInfo({ sx: 50, sy: 50 });
873
+ * // Tile with flip and alignment
874
+ * createTileInfo({ flip: "XY", align: "CENTER" });
875
+ * ```
876
+ */
877
+ declare const createTileInfo: (options?: TileOptions) => BuilderElement<{}>;
878
+ //#endregion
879
+ //#region src/drawingml/fill/gradient-fill.d.ts
880
+ /**
881
+ * Gradient stop position (0-100000, representing 0%-100%).
882
+ */
883
+ interface GradientStop {
884
+ /** Position of the color stop (0-100000) */
885
+ readonly position: number;
886
+ /** Color at this stop */
887
+ readonly color: SolidFillOptions;
888
+ }
889
+ /**
890
+ * Path shade type for radial gradients.
891
+ */
892
+ declare const PathShadeType: {
893
+ /** Follow shape path */readonly SHAPE: "shape"; /** Circular gradient */
894
+ readonly CIRCLE: "circle"; /** Rectangular gradient */
895
+ readonly RECT: "rect";
896
+ };
897
+ /**
898
+ * Tile flip mode for gradient fill.
899
+ *
900
+ * ## XSD Schema
901
+ * ```xml
902
+ * <xsd:simpleType name="ST_TileFlipMode">
903
+ * <xsd:restriction base="xsd:string">
904
+ * <xsd:enumeration value="none"/>
905
+ * <xsd:enumeration value="x"/>
906
+ * <xsd:enumeration value="y"/>
907
+ * <xsd:enumeration value="xy"/>
908
+ * </xsd:restriction>
909
+ * </xsd:simpleType>
910
+ * ```
911
+ */
912
+ declare const TileFlipMode: {
913
+ /** No flip */readonly NONE: "none"; /** Flip horizontally */
914
+ readonly X: "x"; /** Flip vertically */
915
+ readonly Y: "y"; /** Flip both horizontally and vertically */
916
+ readonly XY: "xy";
917
+ };
918
+ /**
919
+ * Options for linear gradient shading.
920
+ */
921
+ interface LinearShadeOptions {
922
+ /** Angle in 60,000ths of a degree (e.g., 5400000 = 90°) */
923
+ readonly angle?: number;
924
+ /** Whether the angle scales with the shape */
925
+ readonly scaled?: boolean;
926
+ }
927
+ /**
928
+ * Relative rectangle (CT_RelativeRect) with percentage offsets.
929
+ *
930
+ * ## XSD Schema
931
+ * ```xml
932
+ * <xsd:complexType name="CT_RelativeRect">
933
+ * <xsd:attribute name="l" type="ST_Percentage" default="0%"/>
934
+ * <xsd:attribute name="t" type="ST_Percentage" default="0%"/>
935
+ * <xsd:attribute name="r" type="ST_Percentage" default="0%"/>
936
+ * <xsd:attribute name="b" type="ST_Percentage" default="0%"/>
937
+ * </xsd:complexType>
938
+ * ```
939
+ */
940
+ interface RelativeRect {
941
+ /** Left offset percentage (e.g., "0%") */
942
+ readonly left?: string;
943
+ /** Top offset percentage (e.g., "0%") */
944
+ readonly top?: string;
945
+ /** Right offset percentage (e.g., "0%") */
946
+ readonly right?: string;
947
+ /** Bottom offset percentage (e.g., "0%") */
948
+ readonly bottom?: string;
949
+ }
950
+ /**
951
+ * Options for path (radial) gradient shading.
952
+ */
953
+ interface PathShadeOptions {
954
+ /** Path type */
955
+ readonly path?: (typeof PathShadeType)[keyof typeof PathShadeType];
956
+ /**
957
+ * Fill-to rectangle for path gradient.
958
+ *
959
+ * Defines the rectangle to which the gradient fills.
960
+ */
961
+ readonly fillToRect?: RelativeRect;
962
+ }
963
+ /**
964
+ * Gradient shade options (linear or path).
965
+ */
966
+ type GradientShadeOptions = LinearShadeOptions | PathShadeOptions;
967
+ /**
968
+ * Options for gradient fill.
969
+ *
970
+ * ## XSD Schema
971
+ * ```xml
972
+ * <xsd:complexType name="CT_GradientFillProperties">
973
+ * <xsd:sequence>
974
+ * <xsd:element name="gsLst" type="CT_GradientStopList" minOccurs="0"/>
975
+ * <xsd:group ref="EG_ShadeProperties" minOccurs="0"/>
976
+ * <xsd:element name="tileRect" type="CT_RelativeRect" minOccurs="0"/>
977
+ * </xsd:sequence>
978
+ * <xsd:attribute name="flip" type="ST_TileFlipMode" use="optional"/>
979
+ * <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/>
980
+ * </xsd:complexType>
981
+ * ```
982
+ */
983
+ interface GradientFillOptions {
984
+ /** Gradient color stops (minimum 2) */
985
+ readonly stops: readonly GradientStop[];
986
+ /** Shade type (linear or path) */
987
+ readonly shade?: GradientShadeOptions;
988
+ /**
989
+ * Tile flip mode.
990
+ *
991
+ * Controls how the gradient is flipped when tiled.
992
+ */
993
+ readonly flip?: (typeof TileFlipMode)[keyof typeof TileFlipMode];
994
+ /**
995
+ * Tile rectangle for gradient tiling.
996
+ *
997
+ * Defines the rectangle used for gradient tiling.
998
+ */
999
+ readonly tileRect?: RelativeRect;
1000
+ /** Whether gradient rotates with the shape */
1001
+ readonly rotateWithShape?: boolean;
1002
+ }
1003
+ /**
1004
+ * Creates a gradient stop element (a:gs).
1005
+ *
1006
+ * @example
1007
+ * ```typescript
1008
+ * createGradientStop({ position: 0, color: { value: "FF0000" } });
1009
+ * createGradientStop({ position: 100000, color: { value: "0000FF" } });
1010
+ * ```
1011
+ */
1012
+ declare const createGradientStop: (stop: GradientStop) => XmlComponent;
1013
+ /**
1014
+ * Creates a gradient fill element.
1015
+ *
1016
+ * ## XSD Schema
1017
+ * ```xml
1018
+ * <xsd:complexType name="CT_GradientFillProperties">
1019
+ * <xsd:sequence>
1020
+ * <xsd:element name="gsLst" type="CT_GradientStopList" minOccurs="0"/>
1021
+ * <xsd:group ref="EG_ShadeProperties" minOccurs="0"/>
1022
+ * </xsd:sequence>
1023
+ * <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/>
1024
+ * </xsd:complexType>
1025
+ * ```
1026
+ *
1027
+ * @example
1028
+ * ```typescript
1029
+ * // Linear gradient from red to blue
1030
+ * createGradientFill({
1031
+ * stops: [
1032
+ * { position: 0, color: { value: "FF0000" } },
1033
+ * { position: 100000, color: { value: "0000FF" } },
1034
+ * ],
1035
+ * shade: { angle: 5400000 },
1036
+ * });
1037
+ * ```
1038
+ */
1039
+ declare const createGradientFill: (options: GradientFillOptions) => XmlComponent;
1040
+ //#endregion
1041
+ //#region src/drawingml/fill/fill-options.d.ts
1042
+ /**
1043
+ * Gradient stop options (simplified API).
1044
+ * Position is 0-100 (percentage), color is a hex string or SolidFillOptions.
1045
+ */
1046
+ interface GradientStopOptions {
1047
+ readonly position: number;
1048
+ readonly color: string | SolidFillOptions;
1049
+ }
1050
+ /**
1051
+ * Blip fill options (image fill) for DrawingML shapes.
1052
+ */
1053
+ interface BlipFillConfigOptions {
1054
+ /** Image data (raw bytes) */
1055
+ readonly data: Uint8Array | ArrayBuffer | Buffer;
1056
+ /** Image type */
1057
+ readonly imageType: "png" | "jpg" | "gif" | "bmp" | "tif" | "ico" | "emf" | "wmf";
1058
+ /** DPI of the image */
1059
+ readonly dpi?: number;
1060
+ /** Whether the fill rotates with the shape */
1061
+ readonly rotWithShape?: boolean;
1062
+ /** Image adjustment effects (brightness, contrast, grayscale, etc.) */
1063
+ readonly blipEffects?: BlipEffectsOptions;
1064
+ /** Source rectangle for cropping */
1065
+ readonly srcRect?: SourceRectangleOptions;
1066
+ /** Tile fill mode (if omitted, defaults to stretch) */
1067
+ readonly tile?: TileOptions;
1068
+ }
1069
+ /**
1070
+ * Media data extracted from a blip fill, for registration with the document's media store.
1071
+ */
1072
+ interface BlipFillMediaData {
1073
+ readonly fileName: string;
1074
+ readonly data: Uint8Array;
1075
+ readonly type: string;
1076
+ }
1077
+ /**
1078
+ * Fill options — discriminated union for DrawingML EG_FillProperties.
1079
+ *
1080
+ * Supports string shorthand for solid fill (most common case).
1081
+ * Color fields accept hex strings or advanced SolidFillOptions
1082
+ * (scheme color, HSL, etc.).
1083
+ *
1084
+ * @example
1085
+ * // Solid fill (shorthand)
1086
+ * fill: "4472C4"
1087
+ * // Solid fill with scheme color
1088
+ * fill: { type: "solid", color: { value: "accent1" } }
1089
+ * // No fill
1090
+ * fill: { type: "none" }
1091
+ * // Gradient fill — linear
1092
+ * fill: { type: "gradient", angle: 90, stops: [{ position: 0, color: "4472C4" }, { position: 100, color: "ED7D31" }] }
1093
+ * // Gradient fill — path (radial)
1094
+ * fill: { type: "gradient", path: "circle", stops: [{ position: 0, color: "FFFFFF" }, { position: 100, color: "4472C4" }] }
1095
+ * // Gradient fill (core API for advanced options)
1096
+ * fill: { type: "gradient", options: { stops: [...], shade: { angle: 5400000 } } }
1097
+ * // Blip fill (image)
1098
+ * fill: { type: "blip", data: imageBuffer, imageType: "png" }
1099
+ * // Pattern fill
1100
+ * fill: { type: "pattern", pattern: "cross", foregroundColor: "FF0000" }
1101
+ * // Group fill
1102
+ * fill: { type: "group" }
1103
+ */
1104
+ type FillOptions = string | {
1105
+ readonly type: "solid";
1106
+ readonly color: string | SolidFillOptions;
1107
+ } | {
1108
+ readonly type: "none";
1109
+ } | {
1110
+ readonly type: "gradient";
1111
+ readonly angle?: number;
1112
+ readonly scaled?: boolean;
1113
+ readonly path?: "shape" | "circle" | "rect";
1114
+ readonly stops: readonly GradientStopOptions[];
1115
+ } | {
1116
+ readonly type: "gradient";
1117
+ readonly options: GradientFillOptions;
1118
+ } | ({
1119
+ readonly type: "blip";
1120
+ } & BlipFillConfigOptions) | {
1121
+ readonly type: "pattern";
1122
+ readonly pattern: string;
1123
+ readonly foregroundColor?: string | SolidFillOptions;
1124
+ readonly backgroundColor?: string | SolidFillOptions;
1125
+ } | {
1126
+ readonly type: "group";
1127
+ };
1128
+ /**
1129
+ * Extracts media data from a blip fill option, if present.
1130
+ * Returns undefined for non-blip fills.
1131
+ *
1132
+ * The returned data should be registered with the document's media store
1133
+ * during `prepForXml` so the packer can resolve the `{fileName}` placeholder.
1134
+ */
1135
+ declare const extractBlipFillMedia: (fill: FillOptions) => BlipFillMediaData | undefined;
1136
+ /**
1137
+ * Builds a DrawingML fill XmlComponent from a FillOptions config.
1138
+ */
1139
+ declare const buildFill: (options: FillOptions) => XmlComponent;
1140
+ //#endregion
1141
+ //#region src/drawingml/fill/no-fill.d.ts
1142
+ /**
1143
+ * Creates a no-fill element.
1144
+ *
1145
+ * Specifies that the outline or shape should have no fill applied.
1146
+ *
1147
+ * ## XSD Schema
1148
+ * ```xml
1149
+ * <xsd:element name="noFill" type="CT_Empty"/>
1150
+ * ```
1151
+ *
1152
+ * @example
1153
+ * ```typescript
1154
+ * const noFill = createNoFill();
1155
+ * ```
1156
+ */
1157
+ declare const createNoFill: () => XmlComponent;
1158
+ //#endregion
1159
+ //#region src/drawingml/fill/pattern-fill.d.ts
1160
+ /**
1161
+ * Preset pattern values for pattern fill.
1162
+ *
1163
+ * ## XSD Schema
1164
+ * ```xml
1165
+ * <xsd:simpleType name="ST_PresetPatternVal">
1166
+ * <xsd:restriction base="xsd:token">
1167
+ * <xsd:enumeration value="pct5"/> ... <xsd:enumeration value="zigZag"/>
1168
+ * </xsd:restriction>
1169
+ * </xsd:simpleType>
1170
+ * ```
1171
+ *
1172
+ * @publicApi
1173
+ */
1174
+ declare const PresetPattern: {
1175
+ /** 5% pattern */readonly PCT5: "percent5"; /** 10% pattern */
1176
+ readonly PCT10: "percent10"; /** 20% pattern */
1177
+ readonly PCT20: "percent20"; /** 25% pattern */
1178
+ readonly PCT25: "percent25"; /** 30% pattern */
1179
+ readonly PCT30: "percent30"; /** 40% pattern */
1180
+ readonly PCT40: "percent40"; /** 50% pattern */
1181
+ readonly PCT50: "percent50"; /** 60% pattern */
1182
+ readonly PCT60: "percent60"; /** 70% pattern */
1183
+ readonly PCT70: "percent70"; /** 75% pattern */
1184
+ readonly PCT75: "percent75"; /** 80% pattern */
1185
+ readonly PCT80: "percent80"; /** 90% pattern */
1186
+ readonly PCT90: "percent90"; /** Horizontal lines */
1187
+ readonly HORZ: "horizontal"; /** Vertical lines */
1188
+ readonly VERT: "vertical"; /** Light horizontal lines */
1189
+ readonly LT_HORZ: "lightHorizontal"; /** Light vertical lines */
1190
+ readonly LT_VERT: "lightVertical"; /** Dark horizontal lines */
1191
+ readonly DK_HORZ: "darkHorizontal"; /** Dark vertical lines */
1192
+ readonly DK_VERT: "darkVertical"; /** Narrow horizontal lines */
1193
+ readonly NAR_HORZ: "narrowHorizontal"; /** Narrow vertical lines */
1194
+ readonly NAR_VERT: "narrowVertical"; /** Dashed horizontal lines */
1195
+ readonly DASH_HORZ: "dashedHorizontal"; /** Dashed vertical lines */
1196
+ readonly DASH_VERT: "dashedVertical"; /** Cross pattern (+) */
1197
+ readonly CROSS: "cross"; /** Downward diagonal lines (\) */
1198
+ readonly DN_DIAG: "downDiagonal"; /** Upward diagonal lines (/) */
1199
+ readonly UP_DIAG: "upDiagonal"; /** Light downward diagonal lines */
1200
+ readonly LT_DN_DIAG: "lightDownDiagonal"; /** Light upward diagonal lines */
1201
+ readonly LT_UP_DIAG: "lightUpDiagonal"; /** Dark downward diagonal lines */
1202
+ readonly DK_DN_DIAG: "darkDownDiagonal"; /** Dark upward diagonal lines */
1203
+ readonly DK_UP_DIAG: "darkUpDiagonal"; /** Wide downward diagonal lines */
1204
+ readonly WD_DN_DIAG: "wideDownDiagonal"; /** Wide upward diagonal lines */
1205
+ readonly WD_UP_DIAG: "wideUpDiagonal"; /** Dashed downward diagonal lines */
1206
+ readonly DASH_DN_DIAG: "dashedDownDiagonal"; /** Dashed upward diagonal lines */
1207
+ readonly DASH_UP_DIAG: "dashedUpDiagonal"; /** Diagonal cross pattern (X) */
1208
+ readonly DIAG_CROSS: "diagonalCross"; /** Small checkerboard */
1209
+ readonly SM_CHECK: "smallChecker"; /** Large checkerboard */
1210
+ readonly LG_CHECK: "largeChecker"; /** Small grid */
1211
+ readonly SM_GRID: "smallGrid"; /** Large grid */
1212
+ readonly LG_GRID: "largeGrid"; /** Dot grid */
1213
+ readonly DOT_GRID: "dotGrid"; /** Small confetti */
1214
+ readonly SM_CONFETTI: "smallConfetti"; /** Large confetti */
1215
+ readonly LG_CONFETTI: "largeConfetti"; /** Horizontal brick pattern */
1216
+ readonly HORZ_BRICK: "horizontalBrick"; /** Diagonal brick pattern */
1217
+ readonly DIAG_BRICK: "diagonalBrick"; /** Solid diamond */
1218
+ readonly SOLID_DMND: "solidDiamond"; /** Open diamond */
1219
+ readonly OPEN_DMND: "openDiamond"; /** Dotted diamond */
1220
+ readonly DOT_DMND: "dottedDiamond"; /** Plaid pattern */
1221
+ readonly PLAID: "plaid"; /** Sphere pattern */
1222
+ readonly SPHERE: "sphere"; /** Weave pattern */
1223
+ readonly WEAVE: "weave"; /** Divot pattern */
1224
+ readonly DIVOT: "divot"; /** Shingle pattern */
1225
+ readonly SHINGLE: "shingle"; /** Wave pattern */
1226
+ readonly WAVE: "wave"; /** Trellis pattern */
1227
+ readonly TRELLIS: "trellis"; /** Zigzag pattern */
1228
+ readonly ZIG_ZAG: "zigZag";
1229
+ };
1230
+ /**
1231
+ * Options for pattern fill.
1232
+ *
1233
+ * ## XSD Schema
1234
+ * ```xml
1235
+ * <xsd:complexType name="CT_PatternFillProperties">
1236
+ * <xsd:sequence>
1237
+ * <xsd:element name="fgClr" type="CT_Color" minOccurs="0"/>
1238
+ * <xsd:element name="bgClr" type="CT_Color" minOccurs="0"/>
1239
+ * </xsd:sequence>
1240
+ * <xsd:attribute name="prst" type="ST_PresetPatternVal" use="optional"/>
1241
+ * </xsd:complexType>
1242
+ * ```
1243
+ */
1244
+ interface PatternFillOptions {
1245
+ /** Preset pattern type */
1246
+ readonly pattern: (typeof PresetPattern)[keyof typeof PresetPattern];
1247
+ /** Foreground color */
1248
+ readonly foregroundColor?: SolidFillOptions;
1249
+ /** Background color */
1250
+ readonly backgroundColor?: SolidFillOptions;
1251
+ }
1252
+ /**
1253
+ * Creates a pattern fill element (a:pattFill).
1254
+ *
1255
+ * Specifies a pattern fill using preset patterns with optional
1256
+ * foreground and background colors.
1257
+ *
1258
+ * ## XSD Schema
1259
+ * ```xml
1260
+ * <xsd:complexType name="CT_PatternFillProperties">
1261
+ * <xsd:sequence>
1262
+ * <xsd:element name="fgClr" type="CT_Color" minOccurs="0"/>
1263
+ * <xsd:element name="bgClr" type="CT_Color" minOccurs="0"/>
1264
+ * </xsd:sequence>
1265
+ * <xsd:attribute name="prst" type="ST_PresetPatternVal" use="optional"/>
1266
+ * </xsd:complexType>
1267
+ * ```
1268
+ *
1269
+ * @example
1270
+ * ```typescript
1271
+ * // Simple crosshatch pattern
1272
+ * createPatternFill({ pattern: PresetPattern.CROSS });
1273
+ * // Pattern with foreground color
1274
+ * createPatternFill({
1275
+ * pattern: PresetPattern.DIAG_CROSS,
1276
+ * foregroundColor: { value: "FF0000" },
1277
+ * });
1278
+ * // Pattern with foreground and background colors
1279
+ * createPatternFill({
1280
+ * pattern: PresetPattern.HORZ,
1281
+ * foregroundColor: { value: "0000FF" },
1282
+ * backgroundColor: { value: "FFFF00" },
1283
+ * });
1284
+ * ```
1285
+ */
1286
+ declare const createPatternFill: (options: PatternFillOptions) => XmlComponent;
1287
+ //#endregion
1288
+ //#region src/drawingml/fill/group-fill.d.ts
1289
+ /**
1290
+ * Creates a group fill element (a:grpFill).
1291
+ *
1292
+ * This element specifies that the shape should inherit its fill
1293
+ * from the parent group shape. This is useful when shapes are
1294
+ * grouped together and should share the same fill.
1295
+ *
1296
+ * ## XSD Schema
1297
+ * ```xml
1298
+ * <xsd:complexType name="CT_GroupFillProperties"/>
1299
+ * ```
1300
+ *
1301
+ * @example
1302
+ * ```typescript
1303
+ * // Shape inherits fill from parent group
1304
+ * createGroupFill();
1305
+ * ```
1306
+ */
1307
+ declare const createGroupFill: () => XmlComponent;
1308
+ //#endregion
1309
+ //#region src/drawingml/outline/custom-dash.d.ts
1310
+ /**
1311
+ * A single dash stop in a custom dash pattern.
1312
+ *
1313
+ * ## XSD Schema
1314
+ * ```xml
1315
+ * <xsd:complexType name="CT_DashStop">
1316
+ * <xsd:attribute name="d" type="ST_PositivePercentage" use="required"/>
1317
+ * <xsd:attribute name="sp" type="ST_PositivePercentage" use="required"/>
1318
+ * </xsd:complexType>
1319
+ * ```
1320
+ *
1321
+ * `ST_PositivePercentage` is a string matching `[0-9]+(\.[0-9]+)?%`
1322
+ * (e.g., `"100%"`, `"500%"`, `"50.5%"`).
1323
+ *
1324
+ * @example
1325
+ * ```typescript
1326
+ * // A dash stop with 500% dash length and 200% space length
1327
+ * { d: "500%", sp: "200%" }
1328
+ * ```
1329
+ */
1330
+ interface DashStop {
1331
+ /** Dash length as a percentage of line width (e.g., "500%") */
1332
+ readonly d: string;
1333
+ /** Space length as a percentage of line width (e.g., "200%") */
1334
+ readonly sp: string;
1335
+ }
1336
+ /**
1337
+ * Creates a custom dash element (a:custDash) for outlines.
1338
+ *
1339
+ * The custom dash element specifies a repeating pattern of dash and space
1340
+ * segments. Each segment is defined by a `DashStop` with dash (`d`) and
1341
+ * space (`sp`) lengths as positive percentages of the line width.
1342
+ *
1343
+ * ## XSD Schema
1344
+ * ```xml
1345
+ * <xsd:complexType name="CT_DashStopList">
1346
+ * <xsd:sequence>
1347
+ * <xsd:element name="ds" type="CT_DashStop" minOccurs="0" maxOccurs="unbounded"/>
1348
+ * </xsd:sequence>
1349
+ * </xsd:complexType>
1350
+ * ```
1351
+ *
1352
+ * @example
1353
+ * ```typescript
1354
+ * // Simple dash pattern
1355
+ * createCustomDash([
1356
+ * { d: "500%", sp: "200%" },
1357
+ * ]);
1358
+ *
1359
+ * // Complex alternating pattern
1360
+ * createCustomDash([
1361
+ * { d: "500%", sp: "200%" },
1362
+ * { d: "100%", sp: "200%" },
1363
+ * ]);
1364
+ * ```
1365
+ */
1366
+ declare const createCustomDash: (stops: readonly DashStop[]) => XmlComponent;
1367
+ //#endregion
1368
+ //#region src/drawingml/outline/line-end.d.ts
1369
+ /**
1370
+ * Line end types (arrow head styles).
1371
+ *
1372
+ * ## XSD Schema
1373
+ * ```xml
1374
+ * <xsd:simpleType name="ST_LineEndType">
1375
+ * <xsd:restriction base="xsd:token">
1376
+ * <xsd:enumeration value="none"/>
1377
+ * <xsd:enumeration value="triangle"/>
1378
+ * <xsd:enumeration value="stealth"/>
1379
+ * <xsd:enumeration value="diamond"/>
1380
+ * <xsd:enumeration value="oval"/>
1381
+ * <xsd:enumeration value="arrow"/>
1382
+ * </xsd:restriction>
1383
+ * </xsd:simpleType>
1384
+ * ```
1385
+ *
1386
+ * @publicApi
1387
+ */
1388
+ declare const LineEndType: {
1389
+ /** No line end */readonly NONE: "none"; /** Triangle arrow */
1390
+ readonly TRIANGLE: "triangle"; /** Stealth arrow (filled triangle) */
1391
+ readonly STEALTH: "stealth"; /** Diamond shape */
1392
+ readonly DIAMOND: "diamond"; /** Oval shape */
1393
+ readonly OVAL: "oval"; /** Simple arrow */
1394
+ readonly ARROW: "arrow";
1395
+ };
1396
+ /**
1397
+ * Line end width options.
1398
+ *
1399
+ * ## XSD Schema
1400
+ * ```xml
1401
+ * <xsd:simpleType name="ST_LineEndWidth">
1402
+ * <xsd:restriction base="xsd:token">
1403
+ * <xsd:enumeration value="sm"/>
1404
+ * <xsd:enumeration value="med"/>
1405
+ * <xsd:enumeration value="lg"/>
1406
+ * </xsd:restriction>
1407
+ * </xsd:simpleType>
1408
+ * ```
1409
+ *
1410
+ * @publicApi
1411
+ */
1412
+ declare const LineEndWidth: {
1413
+ /** Small width */readonly SMALL: "small"; /** Medium width */
1414
+ readonly MEDIUM: "medium"; /** Large width */
1415
+ readonly LARGE: "large";
1416
+ };
1417
+ /**
1418
+ * Line end length options.
1419
+ *
1420
+ * ## XSD Schema
1421
+ * ```xml
1422
+ * <xsd:simpleType name="ST_LineEndLength">
1423
+ * <xsd:restriction base="xsd:token">
1424
+ * <xsd:enumeration value="sm"/>
1425
+ * <xsd:enumeration value="med"/>
1426
+ * <xsd:enumeration value="lg"/>
1427
+ * </xsd:restriction>
1428
+ * </xsd:simpleType>
1429
+ * ```
1430
+ *
1431
+ * @publicApi
1432
+ */
1433
+ declare const LineEndLength: {
1434
+ /** Small length */readonly SMALL: "small"; /** Medium length */
1435
+ readonly MEDIUM: "medium"; /** Large length */
1436
+ readonly LARGE: "large";
1437
+ };
1438
+ /**
1439
+ * Options for line end (arrow) properties.
1440
+ *
1441
+ * ## XSD Schema
1442
+ * ```xml
1443
+ * <xsd:complexType name="CT_LineEndProperties">
1444
+ * <xsd:attribute name="type" type="ST_LineEndType" use="optional" default="none"/>
1445
+ * <xsd:attribute name="w" type="ST_LineEndWidth" use="optional"/>
1446
+ * <xsd:attribute name="len" type="ST_LineEndLength" use="optional"/>
1447
+ * </xsd:complexType>
1448
+ * ```
1449
+ */
1450
+ interface LineEndOptions {
1451
+ /** Arrow/head type */
1452
+ readonly type: (typeof LineEndType)[keyof typeof LineEndType];
1453
+ /** Arrow width */
1454
+ readonly width?: (typeof LineEndWidth)[keyof typeof LineEndWidth];
1455
+ /** Arrow length */
1456
+ readonly length?: (typeof LineEndLength)[keyof typeof LineEndLength];
1457
+ }
1458
+ /**
1459
+ * Creates a line end element (a:headEnd or a:tailEnd).
1460
+ *
1461
+ * @example
1462
+ * ```typescript
1463
+ * // Stealth arrow at start, medium size
1464
+ * createLineEnd("a:headEnd", { type: "STEALTH", width: "MEDIUM", length: "MEDIUM" });
1465
+ * // Triangle arrow at end
1466
+ * createLineEnd("a:tailEnd", { type: "TRIANGLE" });
1467
+ * ```
1468
+ */
1469
+ declare const createLineEnd: (name: string, options: LineEndOptions) => XmlComponent;
1470
+ //#endregion
1471
+ //#region src/drawingml/outline/outline.d.ts
1472
+ /**
1473
+ * Line cap styles for outline endpoints.
1474
+ *
1475
+ * Defines how the ends of a line are rendered.
1476
+ */
1477
+ declare const LineCap: {
1478
+ /** Round cap style */readonly ROUND: "round"; /** Square cap style */
1479
+ readonly SQUARE: "square"; /** Flat cap style */
1480
+ readonly FLAT: "flat";
1481
+ };
1482
+ /**
1483
+ * Compound line types for outlines.
1484
+ *
1485
+ * Defines the structure of compound lines (single, double, etc.).
1486
+ */
1487
+ declare const CompoundLine: {
1488
+ /** Single line */readonly SINGLE: "single"; /** Double line */
1489
+ readonly DOUBLE: "double"; /** Thick-thin double line */
1490
+ readonly THICK_THIN: "thickThin"; /** Thin-thick double line */
1491
+ readonly THIN_THICK: "thinThick"; /** Triple line */
1492
+ readonly TRI: "triple";
1493
+ };
1494
+ /**
1495
+ * Pen alignment options for outline positioning.
1496
+ *
1497
+ * Defines how the outline is aligned relative to the shape edge.
1498
+ */
1499
+ declare const PenAlignment: {
1500
+ /** Center alignment */readonly CENTER: "center"; /** Inset alignment */
1501
+ readonly INSET: "inside";
1502
+ };
1503
+ /**
1504
+ * Preset dash styles for outlines.
1505
+ *
1506
+ * ## XSD Schema
1507
+ * ```xml
1508
+ * <xsd:simpleType name="ST_PresetLineDashVal">
1509
+ * <xsd:restriction base="xsd:token">
1510
+ * <xsd:enumeration value="solid"/>
1511
+ * <xsd:enumeration value="dot"/>
1512
+ * <xsd:enumeration value="dash"/>
1513
+ * <xsd:enumeration value="lgDash"/>
1514
+ * <xsd:enumeration value="dashDot"/>
1515
+ * <xsd:enumeration value="lgDashDot"/>
1516
+ * <xsd:enumeration value="lgDashDotDot"/>
1517
+ * <xsd:enumeration value="sysDash"/>
1518
+ * <xsd:enumeration value="sysDot"/>
1519
+ * <xsd:enumeration value="sysDashDot"/>
1520
+ * <xsd:enumeration value="sysDashDotDot"/>
1521
+ * </xsd:restriction>
1522
+ * </xsd:simpleType>
1523
+ * ```
1524
+ */
1525
+ declare const PresetDash: {
1526
+ readonly SOLID: "solid";
1527
+ readonly DOT: "dot";
1528
+ readonly DASH: "dash";
1529
+ readonly LG_DASH: "lgDash";
1530
+ readonly DASH_DOT: "dashDot";
1531
+ readonly LG_DASH_DOT: "lgDashDot";
1532
+ readonly LG_DASH_DOT_DOT: "lgDashDotDot";
1533
+ readonly SYS_DASH: "sysDash";
1534
+ readonly SYS_DOT: "sysDot";
1535
+ readonly SYS_DASH_DOT: "sysDashDot";
1536
+ readonly SYS_DASH_DOT_DOT: "sysDashDotDot";
1537
+ };
1538
+ /**
1539
+ * Line join styles.
1540
+ */
1541
+ declare const LineJoin: {
1542
+ readonly ROUND: "round";
1543
+ readonly BEVEL: "bevel";
1544
+ readonly MITER: "miter";
1545
+ };
1546
+ /**
1547
+ * Attributes for configuring outline properties.
1548
+ */
1549
+ interface OutlineAttributes {
1550
+ /** Line width in EMUs (English Metric Units) */
1551
+ readonly width?: number;
1552
+ /** Line cap style */
1553
+ readonly cap?: (typeof LineCap)[keyof typeof LineCap];
1554
+ /** Compound line type */
1555
+ readonly compoundLine?: (typeof CompoundLine)[keyof typeof CompoundLine];
1556
+ /** Pen alignment */
1557
+ readonly align?: (typeof PenAlignment)[keyof typeof PenAlignment];
1558
+ /**
1559
+ * Preset dash style.
1560
+ *
1561
+ * Mutually exclusive with `customDash` — only one can be specified.
1562
+ */
1563
+ readonly dash?: (typeof PresetDash)[keyof typeof PresetDash];
1564
+ /**
1565
+ * Custom dash pattern (list of dash/space stops).
1566
+ *
1567
+ * Mutually exclusive with `dash` — only one can be specified.
1568
+ */
1569
+ readonly customDash?: readonly DashStop[];
1570
+ /** Line join style */
1571
+ readonly join?: (typeof LineJoin)[keyof typeof LineJoin];
1572
+ /** Miter limit (only when join is MITER) */
1573
+ readonly miterLimit?: number;
1574
+ /** Line start arrow/head */
1575
+ readonly headEnd?: LineEndOptions;
1576
+ /** Line end arrow/tail */
1577
+ readonly tailEnd?: LineEndOptions;
1578
+ }
1579
+ /**
1580
+ * Fill properties for outline (EG_LineFillProperties).
1581
+ *
1582
+ * Supports noFill, solidFill, gradFill, and pattFill per XSD.
1583
+ * blipFill and grpFill are not applicable to lines.
1584
+ */
1585
+ interface OutlineFillProperties {
1586
+ /** Fill type */
1587
+ readonly type?: "noFill" | "solidFill" | "gradFill" | "pattFill";
1588
+ /** Color definition (required when type is "solidFill") */
1589
+ readonly color?: SolidFillOptions;
1590
+ /** Gradient fill options (required when type is "gradFill") */
1591
+ readonly gradientFill?: GradientFillOptions;
1592
+ /** Pattern fill options (required when type is "pattFill") */
1593
+ readonly patternFill?: PatternFillOptions;
1594
+ }
1595
+ /**
1596
+ * Complete outline configuration options.
1597
+ *
1598
+ * Combines outline attributes with fill properties.
1599
+ */
1600
+ type OutlineOptions = OutlineAttributes & OutlineFillProperties;
1601
+ /**
1602
+ * Creates an outline element for DrawingML shapes.
1603
+ *
1604
+ * The outline element specifies the line properties for the shape border,
1605
+ * including width, cap style, compound line type, alignment, dash, join, and fill.
1606
+ *
1607
+ * ## XSD Schema
1608
+ * ```xml
1609
+ * <xsd:complexType name="CT_LineProperties">
1610
+ * <xsd:sequence>
1611
+ * <xsd:group ref="EG_FillProperties" minOccurs="0"/>
1612
+ * <xsd:group ref="EG_LineDashProperties" minOccurs="0"/>
1613
+ * <xsd:group ref="EG_LineJoinProperties" minOccurs="0"/>
1614
+ * </xsd:sequence>
1615
+ * <xsd:attribute name="w" use="optional" type="a:ST_LineWidth"/>
1616
+ * <xsd:attribute name="cap" use="optional" type="ST_LineCap"/>
1617
+ * <xsd:attribute name="cmpd" use="optional" type="ST_CompoundLine"/>
1618
+ * <xsd:attribute name="algn" use="optional" type="ST_PenAlignment"/>
1619
+ * </xsd:complexType>
1620
+ * ```
1621
+ *
1622
+ * @example
1623
+ * ```typescript
1624
+ * // Outline with RGB color and dash
1625
+ * const outline = createOutline({
1626
+ * width: 9525,
1627
+ * type: "solidFill",
1628
+ * color: { value: "FF0000" },
1629
+ * dash: "DASH",
1630
+ * });
1631
+ * ```
1632
+ */
1633
+ declare const createOutline: (options: OutlineOptions) => XmlComponent;
1634
+ //#endregion
1635
+ //#region src/drawingml/effects/fill-overlay.d.ts
1636
+ /**
1637
+ * Blend modes for fill overlay effect.
1638
+ *
1639
+ * ## XSD Schema
1640
+ * ```xml
1641
+ * <xsd:simpleType name="ST_BlendMode">
1642
+ * <xsd:restriction base="xsd:token">
1643
+ * <xsd:enumeration value="over"/>
1644
+ * <xsd:enumeration value="mult"/>
1645
+ * <xsd:enumeration value="screen"/>
1646
+ * <xsd:enumeration value="darken"/>
1647
+ * <xsd:enumeration value="lighten"/>
1648
+ * </xsd:restriction>
1649
+ * </xsd:simpleType>
1650
+ * ```
1651
+ */
1652
+ declare const BlendMode: {
1653
+ /** Over blend mode */readonly OVER: "over"; /** Multiply blend mode */
1654
+ readonly MULTIPLY: "multiply"; /** Screen blend mode */
1655
+ readonly SCREEN: "screen"; /** Darken blend mode */
1656
+ readonly DARKEN: "darken"; /** Lighten blend mode */
1657
+ readonly LIGHTEN: "lighten";
1658
+ };
1659
+ /**
1660
+ * Options for fill overlay effect.
1661
+ */
1662
+ interface FillOverlayEffectOptions {
1663
+ /** Blend mode (required) */
1664
+ readonly blend: (typeof BlendMode)[keyof typeof BlendMode];
1665
+ /** Solid fill color */
1666
+ readonly solidFill?: SolidFillOptions;
1667
+ /** Gradient fill */
1668
+ readonly gradientFill?: GradientFillOptions;
1669
+ /** Pattern fill */
1670
+ readonly patternFill?: PatternFillOptions;
1671
+ /** Group fill (inherit from parent) */
1672
+ readonly groupFill?: boolean;
1673
+ /** No fill */
1674
+ readonly noFill?: boolean;
1675
+ }
1676
+ /**
1677
+ * Creates a fill overlay effect element.
1678
+ *
1679
+ * ## XSD Schema
1680
+ * ```xml
1681
+ * <xsd:complexType name="CT_FillOverlayEffect">
1682
+ * <xsd:sequence>
1683
+ * <xsd:group ref="EG_FillProperties" minOccurs="1" maxOccurs="1"/>
1684
+ * </xsd:sequence>
1685
+ * <xsd:attribute name="blend" type="ST_BlendMode" use="required"/>
1686
+ * </xsd:complexType>
1687
+ * ```
1688
+ *
1689
+ * @example
1690
+ * ```typescript
1691
+ * // Solid fill overlay
1692
+ * const fillOverlay = createFillOverlayEffect({
1693
+ * blend: BlendMode.MULTIPLY,
1694
+ * solidFill: { value: "FF0000" },
1695
+ * });
1696
+ *
1697
+ * // Gradient fill overlay
1698
+ * const fillOverlay = createFillOverlayEffect({
1699
+ * blend: BlendMode.SCREEN,
1700
+ * gradientFill: { type: "linear", stops: [...] },
1701
+ * });
1702
+ * ```
1703
+ */
1704
+ declare const createFillOverlayEffect: (options: FillOverlayEffectOptions) => XmlComponent;
1705
+ //#endregion
1706
+ //#region src/drawingml/effects/glow.d.ts
1707
+ /**
1708
+ * Options for glow effect.
1709
+ */
1710
+ interface GlowEffectOptions {
1711
+ /** Glow radius in EMUs */
1712
+ readonly radius?: number;
1713
+ /** Glow color */
1714
+ readonly color: SolidFillOptions;
1715
+ }
1716
+ /**
1717
+ * Creates a glow effect element.
1718
+ *
1719
+ * ## XSD Schema
1720
+ * ```xml
1721
+ * <xsd:complexType name="CT_GlowEffect">
1722
+ * <xsd:sequence>
1723
+ * <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/>
1724
+ * </xsd:sequence>
1725
+ * <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="optional" default="0"/>
1726
+ * </xsd:complexType>
1727
+ * ```
1728
+ */
1729
+ declare const createGlowEffect: (options: GlowEffectOptions) => XmlComponent;
1730
+ //#endregion
1731
+ //#region src/drawingml/effects/inner-shadow.d.ts
1732
+ /**
1733
+ * Options for inner shadow effect.
1734
+ */
1735
+ interface InnerShadowEffectOptions {
1736
+ /** Blur radius in EMUs */
1737
+ readonly blurRadius?: number;
1738
+ /** Distance from shape edge in EMUs */
1739
+ readonly distance?: number;
1740
+ /** Direction angle in 60,000ths of a degree */
1741
+ readonly direction?: number;
1742
+ /** Shadow color */
1743
+ readonly color: SolidFillOptions;
1744
+ }
1745
+ /**
1746
+ * Creates an inner shadow effect element.
1747
+ *
1748
+ * ## XSD Schema
1749
+ * ```xml
1750
+ * <xsd:complexType name="CT_InnerShadowEffect">
1751
+ * <xsd:sequence>
1752
+ * <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/>
1753
+ * </xsd:sequence>
1754
+ * <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" default="0"/>
1755
+ * <xsd:attribute name="dist" type="ST_PositiveCoordinate" default="0"/>
1756
+ * <xsd:attribute name="dir" type="ST_PositiveFixedAngle" default="0"/>
1757
+ * </xsd:complexType>
1758
+ * ```
1759
+ */
1760
+ declare const createInnerShadowEffect: (options: InnerShadowEffectOptions) => XmlComponent;
1761
+ //#endregion
1762
+ //#region src/drawingml/effects/outer-shadow.d.ts
1763
+ /**
1764
+ * Rectangle alignment for shadow positioning.
1765
+ */
1766
+ declare const RectAlignment: {
1767
+ readonly TOP_LEFT: "topLeft";
1768
+ readonly TOP: "top";
1769
+ readonly TOP_RIGHT: "topRight";
1770
+ readonly LEFT: "left";
1771
+ readonly CENTER: "center";
1772
+ readonly RIGHT: "right";
1773
+ readonly BOTTOM_LEFT: "bottomLeft";
1774
+ readonly BOTTOM: "bottom";
1775
+ readonly BOTTOM_RIGHT: "bottomRight";
1776
+ };
1777
+ /**
1778
+ * Options for outer shadow effect.
1779
+ */
1780
+ interface OuterShadowEffectOptions {
1781
+ /** Blur radius in EMUs */
1782
+ readonly blurRadius?: number;
1783
+ /** Distance from shape in EMUs */
1784
+ readonly distance?: number;
1785
+ /** Direction angle in 60,000ths of a degree */
1786
+ readonly direction?: number;
1787
+ /** Horizontal scale percentage (e.g., 100000 = 100%) */
1788
+ readonly scaleX?: number;
1789
+ /** Vertical scale percentage */
1790
+ readonly scaleY?: number;
1791
+ /** Horizontal skew angle in 60,000ths of a degree */
1792
+ readonly skewX?: number;
1793
+ /** Vertical skew angle */
1794
+ readonly skewY?: number;
1795
+ /** Shadow alignment */
1796
+ readonly alignment?: (typeof RectAlignment)[keyof typeof RectAlignment];
1797
+ /** Whether shadow rotates with shape */
1798
+ readonly rotWithShape?: boolean;
1799
+ /** Shadow color */
1800
+ readonly color: SolidFillOptions;
1801
+ }
1802
+ /**
1803
+ * Creates an outer shadow effect element.
1804
+ *
1805
+ * ## XSD Schema
1806
+ * ```xml
1807
+ * <xsd:complexType name="CT_OuterShadowEffect">
1808
+ * <xsd:sequence>
1809
+ * <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/>
1810
+ * </xsd:sequence>
1811
+ * <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" default="0"/>
1812
+ * <xsd:attribute name="dist" type="ST_PositiveCoordinate" default="0"/>
1813
+ * <xsd:attribute name="dir" type="ST_PositiveFixedAngle" default="0"/>
1814
+ * <xsd:attribute name="sx" type="ST_Percentage" default="100%"/>
1815
+ * <xsd:attribute name="sy" type="ST_Percentage" default="100%"/>
1816
+ * <xsd:attribute name="kx" type="ST_FixedAngle" default="0"/>
1817
+ * <xsd:attribute name="ky" type="ST_FixedAngle" default="0"/>
1818
+ * <xsd:attribute name="algn" type="ST_RectAlignment" default="b"/>
1819
+ * <xsd:attribute name="rotWithShape" type="xsd:boolean" default="true"/>
1820
+ * </xsd:complexType>
1821
+ * ```
1822
+ */
1823
+ declare const createOuterShadowEffect: (options: OuterShadowEffectOptions) => XmlComponent;
1824
+ //#endregion
1825
+ //#region src/drawingml/effects/preset-shadow.d.ts
1826
+ /**
1827
+ * Preset shadow types (20 variations).
1828
+ *
1829
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, ST_PresetShadowVal
1830
+ */
1831
+ declare const PresetShadowVal: {
1832
+ readonly SHDW1: "shadow1";
1833
+ readonly SHDW2: "shadow2";
1834
+ readonly SHDW3: "shadow3";
1835
+ readonly SHDW4: "shadow4";
1836
+ readonly SHDW5: "shadow5";
1837
+ readonly SHDW6: "shadow6";
1838
+ readonly SHDW7: "shadow7";
1839
+ readonly SHDW8: "shadow8";
1840
+ readonly SHDW9: "shadow9";
1841
+ readonly SHDW10: "shadow10";
1842
+ readonly SHDW11: "shadow11";
1843
+ readonly SHDW12: "shadow12";
1844
+ readonly SHDW13: "shadow13";
1845
+ readonly SHDW14: "shadow14";
1846
+ readonly SHDW15: "shadow15";
1847
+ readonly SHDW16: "shadow16";
1848
+ readonly SHDW17: "shadow17";
1849
+ readonly SHDW18: "shadow18";
1850
+ readonly SHDW19: "shadow19";
1851
+ readonly SHDW20: "shadow20";
1852
+ };
1853
+ /**
1854
+ * Options for preset shadow effect.
1855
+ */
1856
+ interface PresetShadowEffectOptions {
1857
+ /** Preset shadow type (required) */
1858
+ readonly preset: (typeof PresetShadowVal)[keyof typeof PresetShadowVal];
1859
+ /** Distance from shape in EMUs */
1860
+ readonly distance?: number;
1861
+ /** Direction angle in 60,000ths of a degree */
1862
+ readonly direction?: number;
1863
+ /** Shadow color */
1864
+ readonly color: SolidFillOptions;
1865
+ }
1866
+ /**
1867
+ * Creates a preset shadow effect element.
1868
+ *
1869
+ * ## XSD Schema
1870
+ * ```xml
1871
+ * <xsd:complexType name="CT_PresetShadowEffect">
1872
+ * <xsd:sequence>
1873
+ * <xsd:group ref="EG_ColorChoice" minOccurs="1" maxOccurs="1"/>
1874
+ * </xsd:sequence>
1875
+ * <xsd:attribute name="prst" type="ST_PresetShadowVal" use="required"/>
1876
+ * <xsd:attribute name="dist" type="ST_PositiveCoordinate" default="0"/>
1877
+ * <xsd:attribute name="dir" type="ST_PositiveFixedAngle" default="0"/>
1878
+ * </xsd:complexType>
1879
+ * ```
1880
+ */
1881
+ declare const createPresetShadowEffect: (options: PresetShadowEffectOptions) => XmlComponent;
1882
+ //#endregion
1883
+ //#region src/drawingml/effects/reflection.d.ts
1884
+ /**
1885
+ * Options for reflection effect.
1886
+ *
1887
+ * All properties are optional with XSD defaults.
1888
+ */
1889
+ interface ReflectionEffectOptions {
1890
+ /** Blur radius in EMUs */
1891
+ readonly blurRadius?: number;
1892
+ /** Start opacity (fixed percentage, e.g., 100000 = 100%) */
1893
+ readonly startAlpha?: number;
1894
+ /** Start position (fixed percentage) */
1895
+ readonly startPosition?: number;
1896
+ /** End opacity (fixed percentage) */
1897
+ readonly endAlpha?: number;
1898
+ /** End position (fixed percentage) */
1899
+ readonly endPosition?: number;
1900
+ /** Distance from shape in EMUs */
1901
+ readonly distance?: number;
1902
+ /** Direction angle in 60,000ths of a degree */
1903
+ readonly direction?: number;
1904
+ /** Fade direction angle in 60,000ths of a degree */
1905
+ readonly fadeDirection?: number;
1906
+ /** Horizontal scale percentage */
1907
+ readonly scaleX?: number;
1908
+ /** Vertical scale percentage */
1909
+ readonly scaleY?: number;
1910
+ /** Horizontal skew angle */
1911
+ readonly skewX?: number;
1912
+ /** Vertical skew angle */
1913
+ readonly skewY?: number;
1914
+ /** Alignment */
1915
+ readonly alignment?: string;
1916
+ /** Whether reflection rotates with shape */
1917
+ readonly rotWithShape?: boolean;
1918
+ }
1919
+ /**
1920
+ * Creates a reflection effect element.
1921
+ *
1922
+ * ## XSD Schema
1923
+ * ```xml
1924
+ * <xsd:complexType name="CT_ReflectionEffect">
1925
+ * <xsd:attribute name="blurRad" type="ST_PositiveCoordinate" default="0"/>
1926
+ * <xsd:attribute name="stA" type="ST_PositiveFixedPercentage" default="100%"/>
1927
+ * <xsd:attribute name="stPos" type="ST_PositiveFixedPercentage" default="0%"/>
1928
+ * <xsd:attribute name="endA" type="ST_PositiveFixedPercentage" default="0%"/>
1929
+ * <xsd:attribute name="endPos" type="ST_PositiveFixedPercentage" default="100%"/>
1930
+ * <xsd:attribute name="dist" type="ST_PositiveCoordinate" default="0"/>
1931
+ * <xsd:attribute name="dir" type="ST_PositiveFixedAngle" default="0"/>
1932
+ * <xsd:attribute name="fadeDir" type="ST_PositiveFixedAngle" default="5400000"/>
1933
+ * <xsd:attribute name="sx" type="ST_Percentage" default="100%"/>
1934
+ * <xsd:attribute name="sy" type="ST_Percentage" default="100%"/>
1935
+ * <xsd:attribute name="kx" type="ST_FixedAngle" default="0"/>
1936
+ * <xsd:attribute name="ky" type="ST_FixedAngle" default="0"/>
1937
+ * <xsd:attribute name="algn" type="ST_RectAlignment" default="b"/>
1938
+ * <xsd:attribute name="rotWithShape" type="xsd:boolean" default="true"/>
1939
+ * </xsd:complexType>
1940
+ * ```
1941
+ */
1942
+ declare const createReflectionEffect: (options?: ReflectionEffectOptions) => BuilderElement<{}>;
1943
+ //#endregion
1944
+ //#region src/drawingml/effects/effect-list.d.ts
1945
+ /**
1946
+ * Blur effect options.
1947
+ */
1948
+ interface BlurEffectOptions {
1949
+ /** Blur radius in EMUs */
1950
+ readonly radius?: number;
1951
+ /** Whether to grow the shape boundary */
1952
+ readonly grow?: boolean;
1953
+ }
1954
+ /**
1955
+ * Options for the effect list container.
1956
+ *
1957
+ * Each property corresponds to an optional child effect element.
1958
+ * Only specified effects will be included in the output.
1959
+ */
1960
+ interface EffectListOptions {
1961
+ /** Blur effect */
1962
+ readonly blur?: BlurEffectOptions;
1963
+ /** Fill overlay effect */
1964
+ readonly fillOverlay?: FillOverlayEffectOptions;
1965
+ /** Glow effect */
1966
+ readonly glow?: GlowEffectOptions;
1967
+ /** Inner shadow effect */
1968
+ readonly innerShadow?: InnerShadowEffectOptions;
1969
+ /** Outer shadow effect */
1970
+ readonly outerShadow?: OuterShadowEffectOptions;
1971
+ /** Preset shadow effect */
1972
+ readonly presetShadow?: PresetShadowEffectOptions;
1973
+ /** Reflection effect (pass object for attributes, or true for defaults) */
1974
+ readonly reflection?: ReflectionEffectOptions | true;
1975
+ /** Soft edge radius in EMUs */
1976
+ readonly softEdge?: number;
1977
+ }
1978
+ /**
1979
+ * Creates an effect list element (a:effectLst).
1980
+ *
1981
+ * This is the EG_EffectProperties choice for a flat list of effects.
1982
+ * Effects are emitted in XSD order: blur, glow, innerShdw, outerShdw, prstShdw, reflection, softEdge.
1983
+ *
1984
+ * ## XSD Schema
1985
+ * ```xml
1986
+ * <xsd:complexType name="CT_EffectList">
1987
+ * <xsd:sequence>
1988
+ * <xsd:element name="blur" type="CT_BlurEffect" minOccurs="0"/>
1989
+ * <xsd:element name="fillOverlay" type="CT_FillOverlayEffect" minOccurs="0"/>
1990
+ * <xsd:element name="glow" type="CT_GlowEffect" minOccurs="0"/>
1991
+ * <xsd:element name="innerShdw" type="CT_InnerShadowEffect" minOccurs="0"/>
1992
+ * <xsd:element name="outerShdw" type="CT_OuterShadowEffect" minOccurs="0"/>
1993
+ * <xsd:element name="prstShdw" type="CT_PresetShadowEffect" minOccurs="0"/>
1994
+ * <xsd:element name="reflection" type="CT_ReflectionEffect" minOccurs="0"/>
1995
+ * <xsd:element name="softEdge" type="CT_SoftEdgesEffect" minOccurs="0"/>
1996
+ * </xsd:sequence>
1997
+ * </xsd:complexType>
1998
+ * ```
1999
+ */
2000
+ declare const createEffectList: (options: EffectListOptions) => XmlComponent;
2001
+ //#endregion
2002
+ //#region src/drawingml/effects/effect-dag.d.ts
2003
+ /**
2004
+ * Effect container type (ST_EffectContainerType).
2005
+ *
2006
+ * Controls how child effects are combined:
2007
+ * - `sib`: sibling effects are applied in parallel
2008
+ * - `tree`: effects are applied sequentially in tree order
2009
+ *
2010
+ * ## XSD Schema
2011
+ * ```xml
2012
+ * <xsd:simpleType name="ST_EffectContainerType">
2013
+ * <xsd:restriction base="xsd:token">
2014
+ * <xsd:enumeration value="sib"/>
2015
+ * <xsd:enumeration value="tree"/>
2016
+ * </xsd:restriction>
2017
+ * </xsd:simpleType>
2018
+ * ```
2019
+ */
2020
+ declare const EffectContainerType: {
2021
+ readonly SIB: "sibling";
2022
+ readonly TREE: "tree";
2023
+ };
2024
+ /** Alpha bi-level effect — clips alpha to threshold (CT_AlphaBiLevelEffect). */
2025
+ interface AlphaBiLevelEffectOptions {
2026
+ /** Alpha threshold (fixed percentage, required) */
2027
+ readonly threshold: number;
2028
+ }
2029
+ /** Alpha inverse effect — inverts alpha, optionally with color (CT_AlphaInverseEffect). */
2030
+ interface AlphaInverseEffectOptions {
2031
+ /** Optional color to apply inverse to */
2032
+ readonly color?: SolidFillOptions;
2033
+ }
2034
+ /** Alpha modulate fixed effect (CT_AlphaModulateFixedEffect). */
2035
+ interface AlphaModulateFixedEffectOptions {
2036
+ /** Amount percentage (default 100%) */
2037
+ readonly amount?: number;
2038
+ }
2039
+ /** Alpha outset effect (CT_AlphaOutsetEffect). */
2040
+ interface AlphaOutsetEffectOptions {
2041
+ /** Outset radius */
2042
+ readonly radius?: number;
2043
+ }
2044
+ /** Alpha replace effect — replaces alpha value (CT_AlphaReplaceEffect). */
2045
+ interface AlphaReplaceEffectOptions {
2046
+ /** New alpha value (fixed percentage, required) */
2047
+ readonly alpha: number;
2048
+ }
2049
+ /** Blend effect — blends with nested container (CT_BlendEffect). */
2050
+ interface BlendEffectOptions {
2051
+ /** Blend mode (required) */
2052
+ readonly blend: (typeof BlendMode)[keyof typeof BlendMode];
2053
+ /** Nested effect container */
2054
+ readonly container: EffectDagOptions;
2055
+ }
2056
+ /** Color change effect — maps one color to another (CT_ColorChangeEffect). */
2057
+ interface ColorChangeEffectOptions {
2058
+ /** Source color to replace */
2059
+ readonly from: SolidFillOptions;
2060
+ /** Target color */
2061
+ readonly to: SolidFillOptions;
2062
+ /** Whether to use alpha channel (default true) */
2063
+ readonly useA?: boolean;
2064
+ }
2065
+ /** Duotone effect — two-color tone mapping (CT_DuotoneEffect). */
2066
+ interface DuotoneEffectOptions {
2067
+ /** First color */
2068
+ readonly color1: SolidFillOptions;
2069
+ /** Second color */
2070
+ readonly color2: SolidFillOptions;
2071
+ }
2072
+ /** Fill effect — applies a fill as an effect (CT_FillEffect). */
2073
+ interface FillEffectOptions {
2074
+ /** Solid fill */
2075
+ readonly solidFill?: SolidFillOptions;
2076
+ /** Gradient fill */
2077
+ readonly gradientFill?: GradientFillOptions;
2078
+ /** Pattern fill */
2079
+ readonly patternFill?: PatternFillOptions;
2080
+ /** Group fill (inherit from parent) */
2081
+ readonly groupFill?: boolean;
2082
+ /** No fill */
2083
+ readonly noFill?: boolean;
2084
+ }
2085
+ /** HSL effect — adjusts hue, saturation, luminance (CT_HSLEffect). */
2086
+ interface HSLEffectOptions {
2087
+ /** Hue angle in 60,000ths of a degree (default 0) */
2088
+ readonly hue?: number;
2089
+ /** Saturation percentage (default 0%) */
2090
+ readonly saturation?: number;
2091
+ /** Luminance percentage (default 0%) */
2092
+ readonly luminance?: number;
2093
+ }
2094
+ /** Luminance effect — adjusts brightness and contrast (CT_LuminanceEffect). */
2095
+ interface LuminanceEffectOptions {
2096
+ /** Brightness percentage (default 0%) */
2097
+ readonly bright?: number;
2098
+ /** Contrast percentage (default 0%) */
2099
+ readonly contrast?: number;
2100
+ }
2101
+ /** Tint effect — applies tint with hue and amount (CT_TintEffect). */
2102
+ interface TintEffectOptions {
2103
+ /** Hue angle in 60,000ths of a degree (default 0) */
2104
+ readonly hue?: number;
2105
+ /** Tint amount percentage (default 0%) */
2106
+ readonly amount?: number;
2107
+ }
2108
+ /** Relative offset effect (CT_RelativeOffsetEffect). */
2109
+ interface RelativeOffsetEffectOptions {
2110
+ /** Horizontal offset percentage (default 0%) */
2111
+ readonly translateX?: number;
2112
+ /** Vertical offset percentage (default 0%) */
2113
+ readonly translateY?: number;
2114
+ }
2115
+ /** Transform effect — scale, skew, translate (CT_TransformEffect). */
2116
+ interface TransformEffectOptions {
2117
+ /** Horizontal scale percentage (default 100%) */
2118
+ readonly scaleX?: number;
2119
+ /** Vertical scale percentage (default 100%) */
2120
+ readonly scaleY?: number;
2121
+ /** Horizontal skew angle (default 0) */
2122
+ readonly skewX?: number;
2123
+ /** Vertical skew angle (default 0) */
2124
+ readonly skewY?: number;
2125
+ /** Horizontal translation */
2126
+ readonly translateX?: number;
2127
+ /** Vertical translation */
2128
+ readonly translateY?: number;
2129
+ }
2130
+ /** Effect reference — references an effect by ID (CT_EffectReference). */
2131
+ interface EffectReferenceOptions {
2132
+ /** Reference ID (required) */
2133
+ readonly ref: string;
2134
+ }
2135
+ /**
2136
+ * Options for an effect container (CT_EffectContainer).
2137
+ *
2138
+ * Supports all 28 effect types from EG_Effect, including recursive nesting.
2139
+ *
2140
+ * ## XSD Schema
2141
+ * ```xml
2142
+ * <xsd:complexType name="CT_EffectContainer">
2143
+ * <xsd:group ref="EG_Effect" minOccurs="0" maxOccurs="unbounded"/>
2144
+ * <xsd:attribute name="type" type="ST_EffectContainerType" default="sib"/>
2145
+ * <xsd:attribute name="name" type="xsd:token"/>
2146
+ * </xsd:complexType>
2147
+ * ```
2148
+ */
2149
+ interface EffectDagOptions {
2150
+ /** Container type: "sib" (parallel) or "tree" (sequential) */
2151
+ readonly type?: (typeof EffectContainerType)[keyof typeof EffectContainerType];
2152
+ /** Container name */
2153
+ readonly name?: string;
2154
+ readonly blur?: BlurEffectOptions;
2155
+ readonly fillOverlay?: FillOverlayEffectOptions;
2156
+ readonly glow?: GlowEffectOptions;
2157
+ readonly innerShadow?: InnerShadowEffectOptions;
2158
+ readonly outerShadow?: OuterShadowEffectOptions;
2159
+ readonly presetShadow?: PresetShadowEffectOptions;
2160
+ readonly reflection?: ReflectionEffectOptions | true;
2161
+ readonly softEdge?: number;
2162
+ /** Nested effect containers */
2163
+ readonly containers?: readonly EffectDagOptions[];
2164
+ /** Effect references */
2165
+ readonly effectRefs?: readonly EffectReferenceOptions[];
2166
+ /** Alpha bi-level effect */
2167
+ readonly alphaBiLevel?: AlphaBiLevelEffectOptions;
2168
+ /** Alpha ceiling effect (empty element) */
2169
+ readonly alphaCeiling?: boolean;
2170
+ /** Alpha floor effect (empty element) */
2171
+ readonly alphaFloor?: boolean;
2172
+ /** Alpha inverse effect */
2173
+ readonly alphaInverse?: AlphaInverseEffectOptions;
2174
+ /** Alpha modulate effect (requires nested container) */
2175
+ readonly alphaModulate?: EffectDagOptions;
2176
+ /** Alpha modulate fixed effect */
2177
+ readonly alphaModulateFixed?: AlphaModulateFixedEffectOptions;
2178
+ /** Alpha outset effect */
2179
+ readonly alphaOutset?: AlphaOutsetEffectOptions;
2180
+ /** Alpha replace effect */
2181
+ readonly alphaReplace?: AlphaReplaceEffectOptions;
2182
+ /** Bi-level effect (threshold) */
2183
+ readonly biLevel?: {
2184
+ readonly threshold: number;
2185
+ };
2186
+ /** Blend effect (requires nested container) */
2187
+ readonly blend?: BlendEffectOptions;
2188
+ /** Color change effect */
2189
+ readonly colorChange?: ColorChangeEffectOptions;
2190
+ /** Color replace effect */
2191
+ readonly colorReplace?: SolidFillOptions;
2192
+ /** Duotone effect */
2193
+ readonly duotone?: DuotoneEffectOptions;
2194
+ /** Fill effect */
2195
+ readonly fill?: FillEffectOptions;
2196
+ /** Grayscale effect (empty element) */
2197
+ readonly grayscale?: boolean;
2198
+ /** HSL effect */
2199
+ readonly hsl?: HSLEffectOptions;
2200
+ /** Luminance effect */
2201
+ readonly luminance?: LuminanceEffectOptions;
2202
+ /** Tint effect */
2203
+ readonly tint?: TintEffectOptions;
2204
+ /** Relative offset effect */
2205
+ readonly relativeOffset?: RelativeOffsetEffectOptions;
2206
+ /** Transform effect */
2207
+ readonly transform?: TransformEffectOptions;
2208
+ }
2209
+ /**
2210
+ * Creates an effect DAG element (a:effectDag).
2211
+ *
2212
+ * This is the EG_EffectProperties choice alternative to effectLst,
2213
+ * supporting all 28 effect types with recursive nesting.
2214
+ *
2215
+ * @example
2216
+ * ```typescript
2217
+ * // Simple effect DAG with glow and outer shadow
2218
+ * createEffectDag({
2219
+ * glow: { radius: 50800, color: { value: "FF0000" } },
2220
+ * outerShadow: { color: { value: "000000" }, blurRadius: 76200 },
2221
+ * });
2222
+ *
2223
+ * // DAG with alpha effects and nested container
2224
+ * createEffectDag({
2225
+ * type: "tree",
2226
+ * alphaBiLevel: { threshold: 50000 },
2227
+ * containers: [{
2228
+ * glow: { color: { value: "FF0000" } },
2229
+ * }],
2230
+ * });
2231
+ * ```
2232
+ */
2233
+ declare const createEffectDag: (options: EffectDagOptions) => XmlComponent;
2234
+ //#endregion
2235
+ //#region src/drawingml/effects/soft-edge.d.ts
2236
+ /**
2237
+ * Creates a soft edge effect element.
2238
+ *
2239
+ * ## XSD Schema
2240
+ * ```xml
2241
+ * <xsd:complexType name="CT_SoftEdgesEffect">
2242
+ * <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="required"/>
2243
+ * </xsd:complexType>
2244
+ * ```
2245
+ *
2246
+ * @param rad - Soft edge radius in EMUs (required)
2247
+ */
2248
+ declare const createSoftEdgeEffect: (rad: number) => BuilderElement<{
2249
+ readonly rad: number;
2250
+ }>;
2251
+ //#endregion
2252
+ //#region src/drawingml/three-d/scene-3d.d.ts
2253
+ /**
2254
+ * Sphere coordinates (CT_SphereCoords).
2255
+ *
2256
+ * Used for camera and light rig rotation. All angles are in 1/60000 of a degree.
2257
+ *
2258
+ * ## XSD Schema
2259
+ * ```xml
2260
+ * <xsd:complexType name="CT_SphereCoords">
2261
+ * <xsd:attribute name="lat" type="ST_PositiveFixedAngle" use="required"/>
2262
+ * <xsd:attribute name="lon" type="ST_PositiveFixedAngle" use="required"/>
2263
+ * <xsd:attribute name="rev" type="ST_PositiveFixedAngle" use="required"/>
2264
+ * </xsd:complexType>
2265
+ * ```
2266
+ */
2267
+ interface SphereCoords {
2268
+ /** Latitude angle (0 to 21600000, in 1/60000 degree units) */
2269
+ readonly lat: number;
2270
+ /** Longitude angle (0 to 21600000) */
2271
+ readonly lon: number;
2272
+ /** Revolution angle (0 to 21600000) */
2273
+ readonly rev: number;
2274
+ }
2275
+ /**
2276
+ * Camera options (CT_Camera).
2277
+ *
2278
+ * Defines the camera type and optional rotation for the 3D scene.
2279
+ *
2280
+ * ## XSD Schema
2281
+ * ```xml
2282
+ * <xsd:complexType name="CT_Camera">
2283
+ * <xsd:sequence>
2284
+ * <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0"/>
2285
+ * </xsd:sequence>
2286
+ * <xsd:attribute name="prst" type="ST_PresetCameraType" use="required"/>
2287
+ * <xsd:attribute name="fov" type="ST_FOVAngle" use="optional"/>
2288
+ * <xsd:attribute name="zoom" type="ST_PositivePercentage" use="optional" default="100%"/>
2289
+ * </xsd:complexType>
2290
+ * ```
2291
+ */
2292
+ interface CameraOptions {
2293
+ /** Preset camera type (e.g., "perspectiveFront", "isometricTopUp") */
2294
+ readonly preset: string;
2295
+ /** Field of view angle (0 to 10800000, in 1/60000 degree units, max 180°) */
2296
+ readonly fov?: number;
2297
+ /** Zoom percentage (e.g., "100%") */
2298
+ readonly zoom?: string;
2299
+ /** Camera rotation */
2300
+ readonly rotation?: SphereCoords;
2301
+ }
2302
+ /**
2303
+ * Light rig options (CT_LightRig).
2304
+ *
2305
+ * Defines the lighting setup for the 3D scene.
2306
+ *
2307
+ * ## XSD Schema
2308
+ * ```xml
2309
+ * <xsd:complexType name="CT_LightRig">
2310
+ * <xsd:sequence>
2311
+ * <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0"/>
2312
+ * </xsd:sequence>
2313
+ * <xsd:attribute name="rig" type="ST_LightRigType" use="required"/>
2314
+ * <xsd:attribute name="dir" type="ST_LightRigDirection" use="required"/>
2315
+ * </xsd:complexType>
2316
+ * ```
2317
+ */
2318
+ interface LightRigOptions {
2319
+ /** Light rig type (e.g., "threePt", "balanced", "soft") */
2320
+ readonly rig: string;
2321
+ /** Light direction (e.g., "tl", "t", "tr", "l", "r", "bl", "b", "br") */
2322
+ readonly direction: string;
2323
+ /** Light rig rotation */
2324
+ readonly rotation?: SphereCoords;
2325
+ }
2326
+ /**
2327
+ * 3D point (CT_Point3D).
2328
+ */
2329
+ interface Point3D {
2330
+ readonly x: number;
2331
+ readonly y: number;
2332
+ readonly z: number;
2333
+ }
2334
+ /**
2335
+ * 3D vector (CT_Vector3D).
2336
+ */
2337
+ interface Vector3D {
2338
+ readonly dx: number;
2339
+ readonly dy: number;
2340
+ readonly dz: number;
2341
+ }
2342
+ /**
2343
+ * Backdrop options (CT_Backdrop).
2344
+ *
2345
+ * Defines the backdrop plane for the 3D scene.
2346
+ *
2347
+ * ## XSD Schema
2348
+ * ```xml
2349
+ * <xsd:complexType name="CT_Backdrop">
2350
+ * <xsd:sequence>
2351
+ * <xsd:element name="anchor" type="CT_Point3D" use="required"/>
2352
+ * <xsd:element name="norm" type="CT_Vector3D" use="required"/>
2353
+ * <xsd:element name="up" type="CT_Vector3D" use="required"/>
2354
+ * </xsd:sequence>
2355
+ * </xsd:complexType>
2356
+ * ```
2357
+ */
2358
+ interface BackdropOptions {
2359
+ /** Anchor point */
2360
+ readonly anchor: Point3D;
2361
+ /** Normal vector */
2362
+ readonly normal: Vector3D;
2363
+ /** Up vector */
2364
+ readonly up: Vector3D;
2365
+ }
2366
+ /**
2367
+ * Options for a 3D scene (CT_Scene3D).
2368
+ *
2369
+ * Both `camera` and `lightRig` are required. `backdrop` is optional.
2370
+ *
2371
+ * ## XSD Schema
2372
+ * ```xml
2373
+ * <xsd:complexType name="CT_Scene3D">
2374
+ * <xsd:sequence>
2375
+ * <xsd:element name="camera" type="CT_Camera" minOccurs="1"/>
2376
+ * <xsd:element name="lightRig" type="CT_LightRig" minOccurs="1"/>
2377
+ * <xsd:element name="backdrop" type="CT_Backdrop" minOccurs="0"/>
2378
+ * </xsd:sequence>
2379
+ * </xsd:complexType>
2380
+ * ```
2381
+ *
2382
+ * @example
2383
+ * ```typescript
2384
+ * createScene3D({
2385
+ * camera: { preset: "perspectiveFront" },
2386
+ * lightRig: { rig: "threePt", direction: "t" },
2387
+ * });
2388
+ * ```
2389
+ */
2390
+ interface Scene3DOptions {
2391
+ /** Camera settings (required) */
2392
+ readonly camera: CameraOptions;
2393
+ /** Light rig settings (required) */
2394
+ readonly lightRig: LightRigOptions;
2395
+ /** Backdrop settings (optional) */
2396
+ readonly backdrop?: BackdropOptions;
2397
+ }
2398
+ /**
2399
+ * Creates a 3D scene element (a:scene3d).
2400
+ *
2401
+ * @example
2402
+ * ```typescript
2403
+ * // Simple scene with default camera and lighting
2404
+ * createScene3D({
2405
+ * camera: { preset: "perspectiveFront" },
2406
+ * lightRig: { rig: "threePt", direction: "t" },
2407
+ * });
2408
+ *
2409
+ * // Scene with rotated camera and backdrop
2410
+ * createScene3D({
2411
+ * camera: {
2412
+ * preset: "isometricTopUp",
2413
+ * rotation: { lat: 0, lon: 0, rev: 5400000 },
2414
+ * },
2415
+ * lightRig: { rig: "balanced", direction: "tl" },
2416
+ * backdrop: {
2417
+ * anchor: { x: 0, y: 0, z: 0 },
2418
+ * normal: { dx: 0, dy: 0, dz: 1 },
2419
+ * up: { dx: 0, dy: 1, dz: 0 },
2420
+ * },
2421
+ * });
2422
+ * ```
2423
+ */
2424
+ declare const createScene3D: (options: Scene3DOptions) => XmlComponent;
2425
+ //#endregion
2426
+ //#region src/drawingml/three-d/bevel.d.ts
2427
+ /**
2428
+ * Bevel preset types (12 variations).
2429
+ *
2430
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, ST_BevelPresetType
2431
+ */
2432
+ declare const BevelPresetType: {
2433
+ readonly RELAXED_INSET: "relaxedInset";
2434
+ readonly CIRCLE: "circle";
2435
+ readonly SLOPE: "slope";
2436
+ readonly CROSS: "cross";
2437
+ readonly ANGLE: "angle";
2438
+ readonly SOFT_ROUND: "softRound";
2439
+ readonly CONVEX: "convex";
2440
+ readonly COOL_SLANT: "coolSlant";
2441
+ readonly DIVOT: "divot";
2442
+ readonly RIBLET: "riblet";
2443
+ readonly HARD_EDGE: "hardEdge";
2444
+ readonly ART_DECO: "artDeco";
2445
+ };
2446
+ /**
2447
+ * Options for a bevel element.
2448
+ */
2449
+ interface BevelOptions {
2450
+ /** Bevel width in EMUs (default 76200) */
2451
+ readonly w?: number;
2452
+ /** Bevel height in EMUs (default 76200) */
2453
+ readonly h?: number;
2454
+ /** Bevel preset type */
2455
+ readonly prst?: (typeof BevelPresetType)[keyof typeof BevelPresetType];
2456
+ }
2457
+ /**
2458
+ * Creates a bevel element.
2459
+ *
2460
+ * ## XSD Schema
2461
+ * ```xml
2462
+ * <xsd:complexType name="CT_Bevel">
2463
+ * <xsd:attribute name="w" type="ST_PositiveCoordinate" default="76200"/>
2464
+ * <xsd:attribute name="h" type="ST_PositiveCoordinate" default="76200"/>
2465
+ * <xsd:attribute name="prst" type="ST_BevelPresetType" default="circle"/>
2466
+ * </xsd:complexType>
2467
+ * ```
2468
+ */
2469
+ declare const createBevel: (options?: BevelOptions) => BuilderElement<{}>;
2470
+ /**
2471
+ * Creates a bottom bevel element (a:bevelB).
2472
+ */
2473
+ declare const createBottomBevel: (options?: BevelOptions) => BuilderElement<{}>;
2474
+ //#endregion
2475
+ //#region src/drawingml/three-d/shape-3d.d.ts
2476
+ /**
2477
+ * Preset material types for 3D shapes (15 variations).
2478
+ *
2479
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, ST_PresetMaterialType
2480
+ */
2481
+ declare const PresetMaterialType: {
2482
+ readonly LEGACY_MATTE: "legacyMatte";
2483
+ readonly LEGACY_PLASTIC: "legacyPlastic";
2484
+ readonly LEGACY_METAL: "legacyMetal";
2485
+ readonly LEGACY_WIREFRAME: "legacyWireframe";
2486
+ readonly MATTE: "matte";
2487
+ readonly PLASTIC: "plastic";
2488
+ readonly METAL: "metal";
2489
+ readonly WARM_MATTE: "warmMatte";
2490
+ readonly TRANSLUCENT_POWDER: "translucentPowder";
2491
+ readonly POWDER: "powder";
2492
+ readonly DK_EDGE: "darkEdge";
2493
+ readonly SOFT_EDGE: "softEdge";
2494
+ readonly CLEAR: "clear";
2495
+ readonly FLAT: "flat";
2496
+ readonly SOFT_METAL: "softMetal";
2497
+ };
2498
+ /**
2499
+ * Options for 3D shape properties.
2500
+ */
2501
+ interface Shape3DOptions {
2502
+ /** Top bevel options */
2503
+ readonly bevelT?: BevelOptions;
2504
+ /** Bottom bevel options */
2505
+ readonly bevelB?: BevelOptions;
2506
+ /** Extrusion color (CT_Color / EG_ColorChoice) */
2507
+ readonly extrusionColor?: SolidFillOptions;
2508
+ /** Contour color (CT_Color / EG_ColorChoice) */
2509
+ readonly contourColor?: SolidFillOptions;
2510
+ /** Depth in EMUs (default 0) */
2511
+ readonly z?: number;
2512
+ /** Extrusion height in EMUs (default 0) */
2513
+ readonly extrusionH?: number;
2514
+ /** Contour width in EMUs (default 0) */
2515
+ readonly contourW?: number;
2516
+ /** Material preset type */
2517
+ readonly prstMaterial?: (typeof PresetMaterialType)[keyof typeof PresetMaterialType];
2518
+ }
2519
+ /**
2520
+ * Creates a 3D shape properties element (a:sp3d).
2521
+ *
2522
+ * ## XSD Schema
2523
+ * ```xml
2524
+ * <xsd:complexType name="CT_Shape3D">
2525
+ * <xsd:sequence>
2526
+ * <xsd:element name="bevelT" type="CT_Bevel" minOccurs="0"/>
2527
+ * <xsd:element name="bevelB" type="CT_Bevel" minOccurs="0"/>
2528
+ * <xsd:element name="extrusionClr" type="CT_Color" minOccurs="0"/>
2529
+ * <xsd:element name="contourClr" type="CT_Color" minOccurs="0"/>
2530
+ * </xsd:sequence>
2531
+ * <xsd:attribute name="z" type="ST_Coordinate" default="0"/>
2532
+ * <xsd:attribute name="extrusionH" type="ST_PositiveCoordinate" default="0"/>
2533
+ * <xsd:attribute name="contourW" type="ST_PositiveCoordinate" default="0"/>
2534
+ * <xsd:attribute name="prstMaterial" type="ST_PresetMaterialType" default="warmMatte"/>
2535
+ * </xsd:complexType>
2536
+ * ```
2537
+ */
2538
+ declare const createShape3D: (options: Shape3DOptions) => XmlComponent;
2539
+ //#endregion
2540
+ //#region src/drawingml/geometry/adjustment-values.d.ts
2541
+ /**
2542
+ * A single geometry guide that defines an adjustment value.
2543
+ *
2544
+ * ## XSD Schema
2545
+ * ```xml
2546
+ * <xsd:complexType name="CT_GeomGuide">
2547
+ * <xsd:attribute name="name" type="ST_GeomGuideName" use="required"/>
2548
+ * <xsd:attribute name="fmla" type="ST_GeomGuideFormula" use="required"/>
2549
+ * </xsd:complexType>
2550
+ * ```
2551
+ *
2552
+ * @example
2553
+ * ```typescript
2554
+ * // Adjust rounded rectangle corner radius
2555
+ * { name: "adj", formula: "val 16667" }
2556
+ *
2557
+ * // Adjust star inner radius
2558
+ * { name: "val", formula: "val 50000" }
2559
+ * ```
2560
+ *
2561
+ * Note: Formula examples like `val 16667` define fixed adjustment values.
2562
+ */
2563
+ interface GeometryGuide {
2564
+ /** Guide name (identifier) */
2565
+ readonly name: string;
2566
+ /** Guide formula (e.g., "val 16667") */
2567
+ readonly formula: string;
2568
+ }
2569
+ /**
2570
+ * Creates an adjustment values list element (a:avLst).
2571
+ *
2572
+ * The adjustment values list contains geometry guides that modify
2573
+ * the appearance of a preset geometric shape. When empty, default
2574
+ * values are used.
2575
+ *
2576
+ * ## XSD Schema
2577
+ * ```xml
2578
+ * <xsd:complexType name="CT_GeomGuideList">
2579
+ * <xsd:sequence>
2580
+ * <xsd:element name="gd" type="CT_GeomGuide" minOccurs="0" maxOccurs="unbounded"/>
2581
+ * </xsd:sequence>
2582
+ * </xsd:complexType>
2583
+ * ```
2584
+ *
2585
+ * @example
2586
+ * ```typescript
2587
+ * // Empty adjustment values (defaults)
2588
+ * createAdjustmentValues();
2589
+ *
2590
+ * // With guides
2591
+ * createAdjustmentValues([
2592
+ * { name: "adj", formula: "val 16667" },
2593
+ * ]);
2594
+ * ```
2595
+ */
2596
+ declare const createAdjustmentValues: (guides?: readonly GeometryGuide[]) => XmlComponent;
2597
+ //#endregion
2598
+ //#region src/drawingml/geometry/preset-geometry.d.ts
2599
+ /**
2600
+ * Options for preset geometry.
2601
+ */
2602
+ interface PresetGeometryOptions {
2603
+ /**
2604
+ * Preset shape type (ST_ShapeType).
2605
+ *
2606
+ * Defaults to `"rect"` if not specified.
2607
+ */
2608
+ readonly preset?: string;
2609
+ /**
2610
+ * Adjustment values that modify the base shape.
2611
+ *
2612
+ * Each guide has a name and formula (e.g., `{ name: "adj", formula: "val 16667" }`).
2613
+ */
2614
+ readonly adjustmentValues?: readonly GeometryGuide[];
2615
+ }
2616
+ /**
2617
+ * Represents a preset geometry for a DrawingML shape.
2618
+ *
2619
+ * This element specifies when a preset geometric shape should be used instead
2620
+ * of a custom geometry. It includes a shape preset identifier and optional
2621
+ * adjustment values that modify the base shape.
2622
+ *
2623
+ * ## XSD Schema
2624
+ * ```xml
2625
+ * <xsd:complexType name="CT_PresetGeometry2D">
2626
+ * <xsd:sequence>
2627
+ * <xsd:element name="avLst" type="CT_GeomGuideList" minOccurs="0" maxOccurs="1"/>
2628
+ * </xsd:sequence>
2629
+ * <xsd:attribute name="prst" type="ST_ShapeType" use="required"/>
2630
+ * </xsd:complexType>
2631
+ * ```
2632
+ *
2633
+ * @example
2634
+ * ```typescript
2635
+ * // Default rectangle
2636
+ * const geometry = new PresetGeometry();
2637
+ *
2638
+ * // Rounded rectangle with adjustment
2639
+ * const geometry = new PresetGeometry({
2640
+ * preset: "roundRect",
2641
+ * adjustmentValues: [{ name: "adj", formula: "val 16667" }],
2642
+ * });
2643
+ * ```
2644
+ */
2645
+ declare class PresetGeometry extends XmlComponent {
2646
+ constructor(options?: PresetGeometryOptions);
2647
+ }
2648
+ //#endregion
2649
+ //#region src/drawingml/geometry/custom-geometry.d.ts
2650
+ /**
2651
+ * Path fill mode (ST_PathFillMode).
2652
+ *
2653
+ * ## XSD Schema
2654
+ * ```xml
2655
+ * <xsd:simpleType name="ST_PathFillMode">
2656
+ * <xsd:restriction base="xsd:token">
2657
+ * <xsd:enumeration value="none"/>
2658
+ * <xsd:enumeration value="norm"/>
2659
+ * <xsd:enumeration value="lighten"/>
2660
+ * <xsd:enumeration value="lightenLess"/>
2661
+ * <xsd:enumeration value="darken"/>
2662
+ * <xsd:enumeration value="darkenLess"/>
2663
+ * </xsd:restriction>
2664
+ * </xsd:simpleType>
2665
+ * ```
2666
+ */
2667
+ declare const PathFillMode: {
2668
+ readonly NONE: "none";
2669
+ readonly NORM: "normal";
2670
+ readonly LIGHTEN: "lighten";
2671
+ readonly LIGHTEN_LESS: "lightenLess";
2672
+ readonly DARKEN: "darken";
2673
+ readonly DARKEN_LESS: "darkenLess";
2674
+ };
2675
+ /**
2676
+ * An adjustable point (CT_AdjPoint2D).
2677
+ *
2678
+ * Coordinates can be absolute values or references to geometry guide names.
2679
+ */
2680
+ interface AdjPoint {
2681
+ /** X coordinate (absolute value or guide name) */
2682
+ readonly x: string;
2683
+ /** Y coordinate (absolute value or guide name) */
2684
+ readonly y: string;
2685
+ }
2686
+ /** Move-to path command (CT_Path2DMoveTo). */
2687
+ interface PathMoveTo {
2688
+ readonly command: "moveTo";
2689
+ readonly point: AdjPoint;
2690
+ }
2691
+ /** Line-to path command (CT_Path2DLineTo). */
2692
+ interface PathLineTo {
2693
+ readonly command: "lineTo";
2694
+ readonly point: AdjPoint;
2695
+ }
2696
+ /** Arc-to path command (CT_Path2DArcTo). */
2697
+ interface PathArcTo {
2698
+ readonly command: "arcTo";
2699
+ readonly widthRadius: string;
2700
+ readonly heightRadius: string;
2701
+ readonly startAngle: string;
2702
+ readonly sweepAngle: string;
2703
+ }
2704
+ /** Quadratic Bezier-to path command (CT_Path2DQuadBezierTo). */
2705
+ interface PathQuadBezTo {
2706
+ readonly command: "quadBezTo";
2707
+ readonly points: readonly [AdjPoint, AdjPoint];
2708
+ }
2709
+ /** Cubic Bezier-to path command (CT_Path2DCubicBezierTo). */
2710
+ interface PathCubicBezTo {
2711
+ readonly command: "cubicBezTo";
2712
+ readonly points: readonly [AdjPoint, AdjPoint, AdjPoint];
2713
+ }
2714
+ /** Close path command (CT_Path2DClose). */
2715
+ interface PathClose {
2716
+ readonly command: "close";
2717
+ }
2718
+ /** A path command within a custom geometry path. */
2719
+ type PathCommand = PathMoveTo | PathLineTo | PathArcTo | PathQuadBezTo | PathCubicBezTo | PathClose;
2720
+ /**
2721
+ * Options for a 2D path (CT_Path2D).
2722
+ *
2723
+ * ## XSD Schema
2724
+ * ```xml
2725
+ * <xsd:complexType name="CT_Path2D">
2726
+ * <xsd:choice minOccurs="0" maxOccurs="unbounded">
2727
+ * <xsd:element name="close" type="CT_Path2DClose"/>
2728
+ * <xsd:element name="moveTo" type="CT_Path2DMoveTo"/>
2729
+ * <xsd:element name="lnTo" type="CT_Path2DLineTo"/>
2730
+ * <xsd:element name="arcTo" type="CT_Path2DArcTo"/>
2731
+ * <xsd:element name="quadBezTo" type="CT_Path2DQuadBezierTo"/>
2732
+ * <xsd:element name="cubicBezTo" type="CT_Path2DCubicBezierTo"/>
2733
+ * </xsd:choice>
2734
+ * <xsd:attribute name="w" type="ST_PositiveCoordinate" default="0"/>
2735
+ * <xsd:attribute name="h" type="ST_PositiveCoordinate" default="0"/>
2736
+ * <xsd:attribute name="fill" type="ST_PathFillMode" default="norm"/>
2737
+ * <xsd:attribute name="stroke" type="xsd:boolean" default="true"/>
2738
+ * <xsd:attribute name="extrusionOk" type="xsd:boolean" default="true"/>
2739
+ * </xsd:complexType>
2740
+ * ```
2741
+ */
2742
+ interface PathOptions {
2743
+ /** Path width (coordinate value, default 0 = use shape width) */
2744
+ readonly w?: number;
2745
+ /** Path height (coordinate value, default 0 = use shape height) */
2746
+ readonly h?: number;
2747
+ /** Fill mode for this path */
2748
+ readonly fill?: (typeof PathFillMode)[keyof typeof PathFillMode];
2749
+ /** Whether to stroke the path */
2750
+ readonly stroke?: boolean;
2751
+ /** Whether extrusion is allowed */
2752
+ readonly extrusionOk?: boolean;
2753
+ /** Path commands (moveTo, lineTo, arcTo, etc.) */
2754
+ readonly commands: readonly PathCommand[];
2755
+ }
2756
+ /**
2757
+ * A position reference for adjust handles and connection sites.
2758
+ */
2759
+ interface AdjustHandlePosition {
2760
+ readonly x: string;
2761
+ readonly y: string;
2762
+ }
2763
+ /**
2764
+ * XY adjust handle (CT_XYAdjustHandle).
2765
+ *
2766
+ * Allows the user to drag a handle in X/Y directions.
2767
+ */
2768
+ interface XYAdjustHandle {
2769
+ readonly type: "xy";
2770
+ readonly guideRefX?: string;
2771
+ readonly minX?: string;
2772
+ readonly maxX?: string;
2773
+ readonly guideRefY?: string;
2774
+ readonly minY?: string;
2775
+ readonly maxY?: string;
2776
+ readonly position: AdjustHandlePosition;
2777
+ }
2778
+ /**
2779
+ * Polar adjust handle (CT_PolarAdjustHandle).
2780
+ *
2781
+ * Allows the user to drag a handle in radius/angle directions.
2782
+ */
2783
+ interface PolarAdjustHandle {
2784
+ readonly type: "polar";
2785
+ readonly guideRefRadius?: string;
2786
+ readonly minRadius?: string;
2787
+ readonly maxRadius?: string;
2788
+ readonly guideRefAngle?: string;
2789
+ readonly minAngle?: string;
2790
+ readonly maxAngle?: string;
2791
+ readonly position: AdjustHandlePosition;
2792
+ }
2793
+ /** An adjust handle (XY or Polar). */
2794
+ type AdjustHandle = XYAdjustHandle | PolarAdjustHandle;
2795
+ /**
2796
+ * Connection site (CT_ConnectionSite).
2797
+ *
2798
+ * Defines a point on the shape boundary where connectors can attach.
2799
+ */
2800
+ interface ConnectionSite {
2801
+ /** Angle (absolute value or guide name) */
2802
+ readonly angle: string;
2803
+ /** Position */
2804
+ readonly position: AdjustHandlePosition;
2805
+ }
2806
+ /**
2807
+ * Text insertion rectangle (CT_GeomRect).
2808
+ *
2809
+ * Defines the rectangle within the shape where text is placed.
2810
+ * Coordinates can be absolute values or references to geometry guide names.
2811
+ */
2812
+ interface GeomRect {
2813
+ readonly left: string;
2814
+ readonly top: string;
2815
+ readonly right: string;
2816
+ readonly bottom: string;
2817
+ }
2818
+ /**
2819
+ * Options for a custom 2D geometry (CT_CustomGeometry2D).
2820
+ *
2821
+ * Only `pathList` is required. All other sub-elements are optional.
2822
+ *
2823
+ * ## XSD Schema
2824
+ * ```xml
2825
+ * <xsd:complexType name="CT_CustomGeometry2D">
2826
+ * <xsd:sequence>
2827
+ * <xsd:element name="avLst" type="CT_GeomGuideList" minOccurs="0"/>
2828
+ * <xsd:element name="gdLst" type="CT_GeomGuideList" minOccurs="0"/>
2829
+ * <xsd:element name="ahLst" type="CT_AdjustHandleList" minOccurs="0"/>
2830
+ * <xsd:element name="cxnLst" type="CT_ConnectionSiteList" minOccurs="0"/>
2831
+ * <xsd:element name="rect" type="CT_GeomRect" minOccurs="0"/>
2832
+ * <xsd:element name="pathLst" type="CT_Path2DList" minOccurs="1"/>
2833
+ * </xsd:sequence>
2834
+ * </xsd:complexType>
2835
+ * ```
2836
+ *
2837
+ * @example
2838
+ * ```typescript
2839
+ * // Simple triangle
2840
+ * createCustomGeometry({
2841
+ * pathList: [{
2842
+ * commands: [
2843
+ * { command: "moveTo", point: { x: "0", y: "0" } },
2844
+ * { command: "lineTo", point: { x: "10000000", y: "0" } },
2845
+ * { command: "lineTo", point: { x: "5000000", y: "10000000" } },
2846
+ * { command: "close" },
2847
+ * ],
2848
+ * }],
2849
+ * });
2850
+ * ```
2851
+ */
2852
+ interface CustomGeometryOptions {
2853
+ /** Adjustment value guides (a:avLst) */
2854
+ readonly adjustmentValues?: readonly GeometryGuide[];
2855
+ /** Geometry guide formulas (a:gdLst) */
2856
+ readonly guides?: readonly GeometryGuide[];
2857
+ /** Adjust handles (a:ahLst) */
2858
+ readonly adjustHandles?: readonly AdjustHandle[];
2859
+ /** Connection sites (a:cxnLst) */
2860
+ readonly connectionSites?: readonly ConnectionSite[];
2861
+ /** Text insertion rectangle (a:rect) */
2862
+ readonly textRect?: GeomRect;
2863
+ /** Path definitions (a:pathLst) — required */
2864
+ readonly pathList: readonly PathOptions[];
2865
+ }
2866
+ /**
2867
+ * Creates a custom 2D geometry element (a:custGeom).
2868
+ *
2869
+ * @example
2870
+ * ```typescript
2871
+ * // Diamond shape
2872
+ * const geom = createCustomGeometry({
2873
+ * pathList: [{
2874
+ * commands: [
2875
+ * { command: "moveTo", point: { x: "5000000", y: "0" } },
2876
+ * { command: "lineTo", point: { x: "10000000", y: "5000000" } },
2877
+ * { command: "lineTo", point: { x: "5000000", y: "10000000" } },
2878
+ * { command: "lineTo", point: { x: "0", y: "5000000" } },
2879
+ * { command: "close" },
2880
+ * ],
2881
+ * }],
2882
+ * textRect: { left: "2000000", top: "2000000", right: "8000000", bottom: "8000000" },
2883
+ * });
2884
+ * ```
2885
+ */
2886
+ declare const createCustomGeometry: (options: CustomGeometryOptions) => XmlComponent;
2887
+ //#endregion
2888
+ //#region src/drawingml/blip/blip.d.ts
2889
+ /**
2890
+ * Options for creating a blip element.
2891
+ */
2892
+ interface BlipOptions {
2893
+ /** File name used as placeholder; the packer's ImageReplacer replaces `{referenceId}` with `rId{N}` */
2894
+ readonly referenceId: string;
2895
+ /** Image type for SVG detection */
2896
+ readonly type?: "svg" | string;
2897
+ /** For SVG images, the fallback image file name */
2898
+ readonly fallbackFileName?: string;
2899
+ }
2900
+ /**
2901
+ * Creates a blip element for an image.
2902
+ *
2903
+ * A blip references the actual image data stored in the document package
2904
+ * through a relationship ID. For SVG images, it includes extensions that
2905
+ * reference the SVG data.
2906
+ *
2907
+ * Reference: http://officeopenxml.com/drwPic.php
2908
+ *
2909
+ * ## XSD Schema
2910
+ * ```xml
2911
+ * <xsd:complexType name="CT_Blip">
2912
+ * <xsd:sequence>
2913
+ * <xsd:choice minOccurs="0" maxOccurs="unbounded">
2914
+ * <xsd:element name="alphaBiLevel" type="CT_AlphaBiLevelEffect"/>
2915
+ * <xsd:element name="alphaCeiling" type="CT_AlphaCeilingEffect"/>
2916
+ * <xsd:element name="alphaFloor" type="CT_AlphaFloorEffect"/>
2917
+ * <xsd:element name="alphaInv" type="CT_AlphaInverseEffect"/>
2918
+ * <xsd:element name="alphaMod" type="CT_AlphaModulateEffect"/>
2919
+ * <xsd:element name="alphaModFix" type="CT_AlphaModulateFixedEffect"/>
2920
+ * <xsd:element name="alphaRepl" type="CT_AlphaReplaceEffect"/>
2921
+ * <xsd:element name="biLevel" type="CT_BiLevelEffect"/>
2922
+ * <xsd:element name="blur" type="CT_BlurEffect"/>
2923
+ * <xsd:element name="clrChange" type="CT_ColorChangeEffect"/>
2924
+ * <xsd:element name="clrRepl" type="CT_ColorReplaceEffect"/>
2925
+ * <xsd:element name="duotone" type="CT_DuotoneEffect"/>
2926
+ * <xsd:element name="fillOverlay" type="CT_FillOverlayEffect"/>
2927
+ * <xsd:element name="grayscl" type="CT_GrayscaleEffect"/>
2928
+ * <xsd:element name="hsl" type="CT_HSLEffect"/>
2929
+ * <xsd:element name="lum" type="CT_LuminanceEffect"/>
2930
+ * <xsd:element name="tint" type="CT_TintEffect"/>
2931
+ * </xsd:choice>
2932
+ * <xsd:element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0"/>
2933
+ * </xsd:sequence>
2934
+ * <xsd:attribute ref="r:embed"/>
2935
+ * <xsd:attribute ref="r:link"/>
2936
+ * <xsd:attribute name="cstate" type="ST_BlipCompression"/>
2937
+ * </xsd:complexType>
2938
+ * ```
2939
+ *
2940
+ * @param options - Blip options including referenceId and type
2941
+ * @param blipEffects - Optional blip effects (brightness, contrast, etc.)
2942
+ * @returns An XML component representing the blip element
2943
+ */
2944
+ declare const createBlip: (options: BlipOptions, blipEffects?: BlipEffectsOptions) => XmlComponent;
2945
+ //#endregion
2946
+ //#region src/drawingml/blip/blip-fill.d.ts
2947
+ /**
2948
+ * Options for blip fill properties.
2949
+ */
2950
+ interface BlipFillOptions {
2951
+ /** DPI of the image */
2952
+ readonly dpi?: number;
2953
+ /** Whether the fill rotates with the shape */
2954
+ readonly rotWithShape?: boolean;
2955
+ /** Image adjustment effects (brightness, contrast, grayscale, etc.) */
2956
+ readonly blipEffects?: BlipEffectsOptions;
2957
+ /** Source rectangle for cropping */
2958
+ readonly srcRect?: SourceRectangleOptions;
2959
+ /** Tile fill mode (if omitted, defaults to stretch) */
2960
+ readonly tile?: TileOptions;
2961
+ }
2962
+ /**
2963
+ * Creates a blip fill element.
2964
+ *
2965
+ * This element specifies the type of fill used for a picture. It contains the blip (image)
2966
+ * reference, an optional source rectangle for cropping, and the fill mode (typically stretch).
2967
+ *
2968
+ * Reference: ISO/IEC 29500-4, dml-main.xsd, CT_BlipFillProperties
2969
+ *
2970
+ * ## XSD Schema
2971
+ * ```xml
2972
+ * <xsd:complexType name="CT_BlipFillProperties">
2973
+ * <xsd:sequence>
2974
+ * <xsd:element name="blip" type="CT_Blip" minOccurs="0" maxOccurs="1"/>
2975
+ * <xsd:element name="srcRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/>
2976
+ * <xsd:group ref="EG_FillModeProperties" minOccurs="0" maxOccurs="1"/>
2977
+ * </xsd:sequence>
2978
+ * <xsd:attribute name="dpi" type="xsd:unsignedInt" use="optional"/>
2979
+ * <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/>
2980
+ * </xsd:complexType>
2981
+ * ```
2982
+ *
2983
+ * @param blipOptions - Blip options including referenceId and type
2984
+ * @param fillOptions - Optional blip fill options
2985
+ */
2986
+ declare const createBlipFill: (blipOptions: BlipOptions, fillOptions?: BlipFillOptions) => XmlComponent;
2987
+ //#endregion
2988
+ //#region src/drawingml/blip/blip-extentions.d.ts
2989
+ /**
2990
+ * Creates an extension list for SVG images.
2991
+ *
2992
+ * This element contains the extensions needed to embed SVG images
2993
+ * within a blip. It wraps the SVG-specific extension elements.
2994
+ *
2995
+ * ## XSD Schema
2996
+ * ```xml
2997
+ * <xsd:complexType name="CT_OfficeArtExtensionList">
2998
+ * <xsd:sequence>
2999
+ * <xsd:element name="ext" type="CT_OfficeArtExtension" minOccurs="0" maxOccurs="unbounded"/>
3000
+ * </xsd:sequence>
3001
+ * </xsd:complexType>
3002
+ * ```
3003
+ *
3004
+ * @param svgReferenceId - The reference ID for the SVG image
3005
+ * @returns An XML component representing the extension list
3006
+ */
3007
+ declare const createExtentionList: (svgReferenceId: string) => XmlComponent;
3008
+ //#endregion
3009
+ //#region src/drawingml/blip/stretch.d.ts
3010
+ /**
3011
+ * Represents a stretch fill mode for blip fills.
3012
+ *
3013
+ * This element specifies that the blip (image) should be stretched to fill
3014
+ * the entire shape. The stretch fill is one of the fill mode properties
3015
+ * that determines how an image is applied to a shape.
3016
+ *
3017
+ * Reference: http://officeopenxml.com/drwPic.php
3018
+ *
3019
+ * ## XSD Schema
3020
+ * ```xml
3021
+ * <xsd:complexType name="CT_StretchInfoProperties">
3022
+ * <xsd:sequence>
3023
+ * <xsd:element name="fillRect" type="CT_RelativeRect" minOccurs="0" maxOccurs="1"/>
3024
+ * </xsd:sequence>
3025
+ * </xsd:complexType>
3026
+ * ```
3027
+ *
3028
+ * @example
3029
+ * ```typescript
3030
+ * const stretch = new Stretch();
3031
+ * ```
3032
+ */
3033
+ declare class Stretch extends XmlComponent {
3034
+ constructor();
3035
+ }
3036
+ //#endregion
3037
+ //#region src/drawingml/transform.d.ts
3038
+ interface Transform2DOptions {
3039
+ readonly x?: number;
3040
+ readonly y?: number;
3041
+ readonly width?: number;
3042
+ readonly height?: number;
3043
+ readonly flipHorizontal?: boolean;
3044
+ readonly flipVertical?: boolean;
3045
+ readonly rotation?: number;
3046
+ }
3047
+ interface GroupTransform2DOptions extends Transform2DOptions {
3048
+ readonly childOffsetX?: number;
3049
+ readonly childOffsetY?: number;
3050
+ readonly childExtentWidth?: number;
3051
+ readonly childExtentHeight?: number;
3052
+ }
3053
+ /**
3054
+ * Creates a 2D transform element (a:xfrm).
3055
+ *
3056
+ * @param options - Transform options including position, size, rotation, and flip.
3057
+ * @param elementName - Element name, defaults to "a:xfrm".
3058
+ */
3059
+ declare const createTransform2D: (options: Transform2DOptions, elementName?: string) => XmlComponent;
3060
+ /**
3061
+ * Creates a group transform element (a:xfrm with chOff/chExt children).
3062
+ */
3063
+ declare const createGroupTransform2D: (options: GroupTransform2DOptions, elementName?: string) => XmlComponent;
3064
+ //#endregion
3065
+ //#region src/drawingml/media/transformation.d.ts
3066
+ /**
3067
+ * Internal media data transformation with both pixel and EMU values.
3068
+ */
3069
+ interface MediaDataTransformation {
3070
+ readonly offset?: {
3071
+ readonly pixels: {
3072
+ readonly x: number;
3073
+ readonly y: number;
3074
+ };
3075
+ readonly emus?: {
3076
+ readonly x: number;
3077
+ readonly y: number;
3078
+ };
3079
+ };
3080
+ readonly pixels: {
3081
+ /** Width in pixels */readonly x: number; /** Height in pixels */
3082
+ readonly y: number;
3083
+ };
3084
+ /** Display dimensions in EMUs (English Metric Units) */
3085
+ readonly emus: {
3086
+ /** Width in EMUs (1 inch = 914400 EMUs) */readonly x: number; /** Height in EMUs (1 inch = 914400 EMUs) */
3087
+ readonly y: number;
3088
+ };
3089
+ /** Optional flip transformations */
3090
+ readonly flip?: {
3091
+ /** Whether to flip the image vertically */readonly vertical?: boolean; /** Whether to flip the image horizontally */
3092
+ readonly horizontal?: boolean;
3093
+ };
3094
+ /** Optional rotation angle in degrees */
3095
+ readonly rotation?: number;
3096
+ }
3097
+ /**
3098
+ * Transformation options for media display.
3099
+ *
3100
+ * Specifies how an image should be transformed when displayed in the document.
3101
+ */
3102
+ interface MediaTransformation {
3103
+ readonly offset?: {
3104
+ readonly top?: number;
3105
+ readonly left?: number;
3106
+ };
3107
+ readonly width: number;
3108
+ /** Display height in pixels */
3109
+ readonly height: number;
3110
+ /** Optional flip transformations */
3111
+ readonly flip?: {
3112
+ /** Whether to flip the image vertically */readonly vertical?: boolean; /** Whether to flip the image horizontally */
3113
+ readonly horizontal?: boolean;
3114
+ };
3115
+ /** Optional rotation angle in degrees */
3116
+ readonly rotation?: number;
3117
+ }
3118
+ /**
3119
+ * Converts user-facing transformation options (pixels) to internal
3120
+ * transformation data (pixels + EMUs).
3121
+ *
3122
+ * @param options - User-facing transformation in pixels
3123
+ * @returns Internal transformation data with both pixel and EMU values
3124
+ */
3125
+ declare const createTransformation: (options: MediaTransformation) => MediaDataTransformation;
3126
+ //#endregion
3127
+ export { RectAlignment as $, createSolidFill as $t, createBevel as A, FillOptions as At, createSoftEdgeEffect as B, RelativeRect as Bt, GeometryGuide as C, createGroupFill as Ct, createShape3D as D, createNoFill as Dt, Shape3DOptions as E, createPatternFill as Et, Point3D as F, GradientShadeOptions as Ft, EffectListOptions as G, TileOptions as Gt, EffectDagOptions as H, createGradientFill as Ht, Scene3DOptions as I, GradientStop as It, createReflectionEffect as J, createSourceRectangle as Jt, createEffectList as K, createTileInfo as Kt, SphereCoords as L, LinearShadeOptions as Lt, BackdropOptions as M, buildFill as Mt, CameraOptions as N, extractBlipFillMedia as Nt, BevelOptions as O, BlipFillConfigOptions as Ot, LightRigOptions as P, GradientFillOptions as Pt, OuterShadowEffectOptions as Q, createColorElement as Qt, Vector3D as R, PathShadeOptions as Rt, PresetGeometryOptions as S, createCustomDash as St, PresetMaterialType as T, PresetPattern as Tt, createEffectDag as U, createGradientStop as Ut, EffectContainerType as V, TileFlipMode as Vt, BlurEffectOptions as W, TileAlignment as Wt, PresetShadowVal as X, createBlipEffects as Xt, PresetShadowEffectOptions as Y, BlipEffectsOptions as Yt, createPresetShadowEffect as Z, SolidFillOptions as Zt, PathCommand as _, LineEndOptions as _t, Transform2DOptions as a, createSchemeColor as an, BlendMode as at, createCustomGeometry as b, createLineEnd as bt, Stretch as c, RgbColorOptions as cn, CompoundLine as ct, createBlipFill as d, PresetColorOptions as dn, OutlineFillProperties as dt, SystemColor as en, createOuterShadowEffect as et, BlipOptions as f, createPresetColor as fn, OutlineOptions as ft, GeomRect as g, createColorTransforms as gn, LineEndLength as gt, CustomGeometryOptions as h, ColorTransformOptions as hn, createOutline as ht, GroupTransform2DOptions as i, SchemeColorOptions as in, createGlowEffect as it, createBottomBevel as j, GradientStopOptions as jt, BevelPresetType as k, BlipFillMediaData as kt, createExtentionList as l, createRgbColor as ln, LineCap as lt, ConnectionSite as m, createHslColor as mn, PresetDash as mt, MediaTransformation as n, createSystemColor as nn, createInnerShadowEffect as nt, createGroupTransform2D as o, ScRgbColorOptions as on, FillOverlayEffectOptions as ot, createBlip as p, HslColorOptions as pn, PenAlignment as pt, ReflectionEffectOptions as q, SourceRectangleOptions as qt, createTransformation as r, SchemeColor as rn, GlowEffectOptions as rt, createTransform2D as s, createScRgbColor as sn, createFillOverlayEffect as st, MediaDataTransformation as t, SystemColorOptions as tn, InnerShadowEffectOptions as tt, BlipFillOptions as u, PresetColor as un, LineJoin as ut, PathFillMode as v, LineEndType as vt, createAdjustmentValues as w, PatternFillOptions as wt, PresetGeometry as x, DashStop as xt, PathOptions as y, LineEndWidth as yt, createScene3D as z, PathShadeType as zt };