@cesdk/node 1.75.0-nightly.20260424 → 1.75.0-nightly.20260429

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.
package/README.md CHANGED
@@ -23,10 +23,15 @@ npm install --save @cesdk/node
23
23
  ```
24
24
 
25
25
  or with `yarn`
26
- ```bash
26
+ ```bash
27
27
  yarn add @cesdk/node
28
28
  ```
29
29
 
30
+ or with `pnpm`
31
+ ```bash
32
+ pnpm add @cesdk/node
33
+ ```
34
+
30
35
  ## 2. Instantiate Creative Engine
31
36
  The last step involves the configuration and instantiation of the SDK.
32
37
 
package/index.d.ts CHANGED
@@ -1452,6 +1452,22 @@ export declare class BlockAPI {
1452
1452
  * ```
1453
1453
  */
1454
1454
  export(handle: DesignBlockId, mimeType?: ExportOptions['mimeType'], options?: Omit<ExportOptions, 'mimeType'>): Promise<Blob>;
1455
+ /**
1456
+ * Extracts the dominant colors from the rendered appearance of a block.
1457
+ *
1458
+ * Performs an internal update to resolve the final layout for the block. Will not
1459
+ * complete as long as assets are in a pending state; asset loading progresses during
1460
+ * engine updates. Crops, color adjustments, and effects applied to the block are
1461
+ * reflected in the returned palette. Fully or mostly transparent pixels are excluded
1462
+ * from the analysis.
1463
+ *
1464
+ * @category Block Analysis
1465
+ * @param handle - The design block element to analyze. Must be attached to a scene
1466
+ * and render visible content.
1467
+ * @param options - See `DominantColorsOptions`.
1468
+ * @returns A promise that resolves with the dominant colors sorted by weight, descending.
1469
+ */
1470
+ getDominantColors(handle: DesignBlockId, options?: DominantColorsOptions): Promise<DominantColor[]>;
1455
1471
  /**
1456
1472
  * Exports a design block and a color mask to two separate Blobs.
1457
1473
  *
@@ -2043,6 +2059,21 @@ export declare class BlockAPI {
2043
2059
  * @returns A list of block ids.
2044
2060
  */
2045
2061
  findAllPlaceholders(): DesignBlockId[];
2062
+ /**
2063
+ * Finds all blocks that are not attached to any scene.
2064
+ *
2065
+ * A block is considered unused when it has no path to a scene (no scene
2066
+ * reference and no ancestor that belongs to a scene) and is not itself a
2067
+ * scene. Generated blocks and render blocks (fills, effects, shapes, blurs)
2068
+ * are excluded, matching the behaviour of {@link BlockAPI.findAll}.
2069
+ *
2070
+ * This is useful for cleanup workflows and for filtering the URIs returned
2071
+ * by {@link EditorAPI.findAllMediaURIs} before relocating resources.
2072
+ *
2073
+ * @category Block Exploration
2074
+ * @returns A list of block ids that are not attached to any scene.
2075
+ */
2076
+ findAllUnused(): DesignBlockId[];
2046
2077
  /**
2047
2078
  * Creates a new shape block of a given type.
2048
2079
  *
@@ -3825,6 +3856,34 @@ export declare class BlockAPI {
3825
3856
  * @returns True if the block's stroke is enabled.
3826
3857
  */
3827
3858
  isStrokeEnabled(id: DesignBlockId): boolean;
3859
+ /**
3860
+ * Marks the stroke of a block as overprint for PDF export.
3861
+ *
3862
+ * The flag is only honored by the PDF writer when the stroke uses a spot color
3863
+ * (Separation/DeviceN). For process-color strokes it is a silent no-op. On-screen
3864
+ * rendering ignores the flag.
3865
+ *
3866
+ * ```javascript
3867
+ * engine.block.setStrokeOverprint(block, true);
3868
+ * ```
3869
+ *
3870
+ * @category Block Strokes
3871
+ * @param id - The block whose stroke overprint flag should be set.
3872
+ * @param overprint - If true, the stroke is marked as overprint in exported PDFs.
3873
+ */
3874
+ setStrokeOverprint(id: DesignBlockId, overprint: boolean): void;
3875
+ /**
3876
+ * Queries whether the stroke of a block is marked as overprint for PDF export.
3877
+ *
3878
+ * ```javascript
3879
+ * const overprint = engine.block.getStrokeOverprint(block);
3880
+ * ```
3881
+ *
3882
+ * @category Block Strokes
3883
+ * @param id - The block whose stroke overprint flag should be queried.
3884
+ * @returns The stroke overprint flag.
3885
+ */
3886
+ getStrokeOverprint(id: DesignBlockId): boolean;
3828
3887
  /**
3829
3888
  * Sets the stroke color of a block using RGBA values.
3830
3889
  *
@@ -4419,6 +4478,41 @@ export declare class BlockAPI {
4419
4478
  * @param to - The end index of the UTF-16 range. Defaults to the end of the current selection or text.
4420
4479
  */
4421
4480
  toggleTextDecorationOverline(id: DesignBlockId, from?: number, to?: number): void;
4481
+ /**
4482
+ * Gets the paragraph-level horizontal alignment override for a specific paragraph,
4483
+ * or the block-level alignment.
4484
+ *
4485
+ * ```javascript
4486
+ * const alignment = engine.block.getTextHorizontalAlignment(text, 0);
4487
+ * const blockAlignment = engine.block.getTextHorizontalAlignment(text); // paragraphIndex defaults to -1
4488
+ * // e.g. 'Left' | 'Center' | 'Right' | 'Auto' | undefined
4489
+ * ```
4490
+ *
4491
+ * @category Block Text
4492
+ * @param id - The text block to query.
4493
+ * @param paragraphIndex - The 0-based index of the paragraph to query.
4494
+ * Negative values return the block-level `text/horizontalAlignment` setting.
4495
+ * @returns The paragraph override, `undefined` if no override is set,
4496
+ * or the block-level alignment when `paragraphIndex < 0`.
4497
+ */
4498
+ getTextHorizontalAlignment(id: DesignBlockId, paragraphIndex?: number): TextHorizontalAlignment | undefined;
4499
+ /**
4500
+ * Sets the paragraph-level horizontal alignment override for one or all paragraphs.
4501
+ *
4502
+ * ```javascript
4503
+ * engine.block.setTextHorizontalAlignment(text, 'Center', 0);
4504
+ * engine.block.setTextHorizontalAlignment(text, undefined, 0); // clear override
4505
+ * engine.block.setTextHorizontalAlignment(text, 'Right'); // apply to all
4506
+ * ```
4507
+ *
4508
+ * @category Block Text
4509
+ * @param id - The text block to modify.
4510
+ * @param alignment - The alignment to apply, or `undefined` to clear the paragraph override.
4511
+ * @param paragraphIndex - The 0-based index of the paragraph.
4512
+ * Negative values clear all paragraph-level alignment overrides and, when `alignment` is provided,
4513
+ * apply that alignment to the whole text block.
4514
+ */
4515
+ setTextHorizontalAlignment(id: DesignBlockId, alignment: TextHorizontalAlignment | undefined, paragraphIndex?: number): void;
4422
4516
  /**
4423
4517
  * Gets the list style for a specific paragraph of a text block.
4424
4518
  *
@@ -4479,15 +4573,23 @@ export declare class BlockAPI {
4479
4573
  /**
4480
4574
  * Returns the 0-based paragraph indices that overlap the given UTF-16 range.
4481
4575
  *
4576
+ * The range is half-open (exclusive): `from` is inclusive, `to` is exclusive (one past the last
4577
+ * code unit of interest). When `from === to` the range is a cursor position and the paragraph
4578
+ * containing `from` is returned. This convention matches `getTextCursorRange`, so the values
4579
+ * it returns can be passed directly without adjustment.
4580
+ *
4581
+ * Negative values for either parameter cause all paragraph indices to be returned.
4582
+ *
4482
4583
  * ```javascript
4483
4584
  * const indices = engine.block.getTextParagraphIndices(text);
4484
- * const indices = engine.block.getTextParagraphIndices(text, 0, 5);
4585
+ * const { from, to } = engine.block.getTextCursorRange();
4586
+ * const indices = engine.block.getTextParagraphIndices(text, from, to);
4485
4587
  * ```
4486
4588
  *
4487
4589
  * @category Block Text
4488
4590
  * @param id - The text block to query.
4489
- * @param from - The start index of the UTF-16 range. Negative values reference the entire text.
4490
- * @param to - The end index of the UTF-16 range. Negative values reference the entire text.
4591
+ * @param from - The inclusive start UTF-16 index. Negative values reference the entire text.
4592
+ * @param to - The exclusive end UTF-16 index. Negative values reference the entire text.
4491
4593
  * @returns The paragraph indices overlapping the range.
4492
4594
  */
4493
4595
  getTextParagraphIndices(id: DesignBlockId, from?: number, to?: number): number[];
@@ -4618,7 +4720,10 @@ export declare class BlockAPI {
4618
4720
  /**
4619
4721
  * Gets the current text cursor or selection range.
4620
4722
  *
4621
- * Returns the UTF-16 indices of the selected range of the text block that is currently being edited.
4723
+ * Returns the UTF-16 indices of the selected range of the text block that is currently being
4724
+ * edited. The range is half-open (exclusive): `from` is the index of the first selected code
4725
+ * unit, `to` is one past the last selected code unit. When `from === to` the cursor is
4726
+ * positioned between characters with no text selected.
4622
4727
  *
4623
4728
  * ```javascript
4624
4729
  * const selectedRange = engine.block.getTextCursorRange();
@@ -4723,6 +4828,34 @@ export declare class BlockAPI {
4723
4828
  * @param enabled - If true, the fill will be enabled.
4724
4829
  */
4725
4830
  setFillEnabled(id: DesignBlockId, enabled: boolean): void;
4831
+ /**
4832
+ * Queries whether the fill of a block is marked as overprint for PDF export.
4833
+ *
4834
+ * ```javascript
4835
+ * const overprint = engine.block.getFillOverprint(block);
4836
+ * ```
4837
+ *
4838
+ * @category Block Fills
4839
+ * @param id - The block whose fill overprint flag should be queried.
4840
+ * @returns The fill overprint flag.
4841
+ */
4842
+ getFillOverprint(id: DesignBlockId): boolean;
4843
+ /**
4844
+ * Marks the fill of a block as overprint for PDF export.
4845
+ *
4846
+ * The flag is only honored by the PDF writer when the fill uses a spot color
4847
+ * (Separation/DeviceN). For process-color fills it is a silent no-op. On-screen
4848
+ * rendering ignores the flag.
4849
+ *
4850
+ * ```javascript
4851
+ * engine.block.setFillOverprint(block, true);
4852
+ * ```
4853
+ *
4854
+ * @category Block Fills
4855
+ * @param id - The block whose fill overprint flag should be set.
4856
+ * @param overprint - If true, the fill is marked as overprint in exported PDFs.
4857
+ */
4858
+ setFillOverprint(id: DesignBlockId, overprint: boolean): void;
4726
4859
  /**
4727
4860
  * Gets the fill block attached to a given block.
4728
4861
  *
@@ -5920,10 +6053,11 @@ export declare interface CompleteAssetResult extends AssetResult {
5920
6053
  * Compression format for scene serialization.
5921
6054
  * @public
5922
6055
  */
5923
- export declare enum CompressionFormat {
6056
+ declare enum CompressionFormat_2 {
5924
6057
  None = 0,
5925
6058
  Zstd = 1
5926
6059
  }
6060
+ export { CompressionFormat_2 as CompressionFormat }
5927
6061
 
5928
6062
  /**
5929
6063
  * Compression level for scene serialization.
@@ -6212,6 +6346,50 @@ export declare type DesignBlockTypeLonghand = `//ly.img.ubq/${DesignBlockTypeSho
6212
6346
  /** @public */
6213
6347
  export declare type DesignBlockTypeShorthand = (typeof DESIGN_BLOCK_TYPES)[number];
6214
6348
 
6349
+ /**
6350
+ * A single color extracted from the rendered appearance of a block.
6351
+ *
6352
+ * @public
6353
+ */
6354
+ export declare interface DominantColor {
6355
+ /** Red component in sRGB, normalized to the range [0, 1]. */
6356
+ r: number;
6357
+ /** Green component in sRGB, normalized to the range [0, 1]. */
6358
+ g: number;
6359
+ /** Blue component in sRGB, normalized to the range [0, 1]. */
6360
+ b: number;
6361
+ /**
6362
+ * Share of analyzed pixels represented by this color, in the range [0, 1].
6363
+ * Higher values indicate a more prominent color. The sum of weights returned
6364
+ * by a single `BlockAPI.getDominantColors` call is `1.0`.
6365
+ */
6366
+ weight: number;
6367
+ }
6368
+
6369
+ /**
6370
+ * Options for `BlockAPI.getDominantColors`.
6371
+ *
6372
+ * @public
6373
+ */
6374
+ export declare interface DominantColorsOptions {
6375
+ /**
6376
+ * Number of dominant colors to extract.
6377
+ * The returned palette may contain fewer entries for images with very little variation,
6378
+ * and is empty when `count` is `0`.
6379
+ *
6380
+ * @defaultValue 5
6381
+ */
6382
+ count?: number;
6383
+ /**
6384
+ * If `true`, near-white pixels are excluded from the analysis.
6385
+ * Useful when analyzing images on white backgrounds to avoid the background
6386
+ * dominating the result.
6387
+ *
6388
+ * @defaultValue false
6389
+ */
6390
+ ignoreWhite?: boolean;
6391
+ }
6392
+
6215
6393
  /** @public */
6216
6394
  export declare type DoubleClickSelectionMode = (typeof DoubleClickSelectionModeValues)[number];
6217
6395
 
@@ -7309,6 +7487,50 @@ export declare class EditorAPI {
7309
7487
  * @param enabled - Whether the block should be selectable.
7310
7488
  */
7311
7489
  setSelectionEnabled(id: DesignBlockId, enabled: boolean): void;
7490
+ /**
7491
+ * Set one or more rules that limit how far blocks can be positioned outside their
7492
+ * parent page during user interactions (drag, resize, touch gestures, crop).
7493
+ * Programmatic API calls are not affected.
7494
+ *
7495
+ * `overshoot` is a non-negative fraction of the moved block's own size: `0`
7496
+ * pins blocks fully inside the page, `0.3` allows 30% to extend past the page
7497
+ * bounds. Each rule's scope is determined by its keys:
7498
+ * - `{ overshoot }` — scene-wide default for every page in the scene.
7499
+ * - `{ overshoot, block }` — applies to a specific block. Pages are blocks, so
7500
+ * setting this on a page acts as the default for blocks inside that page.
7501
+ * - `{ overshoot, blockType }` — applies to every block of the given type
7502
+ * (e.g. `"text"` or `"//ly.img.ubq/text"`).
7503
+ *
7504
+ * Use `removeMovementConstraint` to clear a rule.
7505
+ *
7506
+ * When multiple rules match a block, the most specific one wins:
7507
+ * block \> parent page \> blockType \> scene-wide.
7508
+ *
7509
+ * @param rules - A single rule or an array of rules to apply.
7510
+ */
7511
+ setMovementConstraint(rules: MovementConstraintRule | MovementConstraintRule[]): void;
7512
+ /**
7513
+ * Get the effective movement constraint for a block, picking the most specific
7514
+ * matching rule: block \> parent page \> blockType \> scene-wide.
7515
+ *
7516
+ * The returned `overshoot` is a fraction of the block's own size.
7517
+ *
7518
+ * @param id - The block to query.
7519
+ * @returns `{ overshoot }` with the effective value, or `null` if unconstrained.
7520
+ */
7521
+ getMovementConstraint(id: DesignBlockId): ResolvedMovementConstraint;
7522
+ /**
7523
+ * Remove previously set movement constraints.
7524
+ *
7525
+ * - No argument: removes the scene-wide default.
7526
+ * - `{ block }` / `{ blockType }` (or an array): removes the matching scope(s).
7527
+ *
7528
+ * Removing a scope falls through to the next tier on subsequent resolution.
7529
+ *
7530
+ * @param scopes - Scope or array of scopes to remove. Omit to remove the
7531
+ * scene-wide default.
7532
+ */
7533
+ removeMovementConstraint(scopes?: MovementConstraintScope | MovementConstraintScope[]): void;
7312
7534
  }
7313
7535
 
7314
7536
  /**
@@ -7410,6 +7632,8 @@ export declare class EventAPI {
7410
7632
  * - 'exportPdfWithUnderlayer': Export the PDF document with an underlayer.
7411
7633
  * - 'underlayerSpotColorName': The name of the spot color to be used for the underlayer's fill.
7412
7634
  * - 'underlayerOffset': The adjustment in size of the shape of the underlayer.
7635
+ * - 'underlayerRenderRatio': Resolution multiplier for the underlayer contour extraction.
7636
+ * - 'underlayerMaxError': Curve-fit error tolerance for the underlayer contour.
7413
7637
  * - 'abortSignal': An abort signal that can be used to cancel the export.
7414
7638
  *
7415
7639
  * @public
@@ -7477,6 +7701,26 @@ export declare type ExportOptions = {
7477
7701
  * The adjustment in size of the shape of the underlayer.
7478
7702
  */
7479
7703
  underlayerOffset?: number;
7704
+ /**
7705
+ * Resolution multiplier for the raster pass that extracts the underlayer contour.
7706
+ * Higher values produce sharper underlayer outlines at the cost of memory and export time.
7707
+ * Useful for small text on large pages, where the 1.0 default can miss fine glyph details.
7708
+ * Values `<= 0` fall back to 1.0. `NaN` / `Infinity` are rejected at the binding boundary
7709
+ * with a `StructError`; pass a real number or leave the field undefined to use the default.
7710
+ *
7711
+ * @defaultValue 1.0
7712
+ */
7713
+ underlayerRenderRatio?: number;
7714
+ /**
7715
+ * Maximum acceptable curve-fit error, in pixels, when vectorising the underlayer contour.
7716
+ * Smaller values produce tighter fits at the cost of more path complexity.
7717
+ * Useful together with `underlayerRenderRatio` for small text on large pages.
7718
+ * Values `<= 0` fall back to 2.0. `NaN` / `Infinity` are rejected at the binding boundary
7719
+ * with a `StructError`; pass a real number or leave the field undefined to use the default.
7720
+ *
7721
+ * @defaultValue 2.0
7722
+ */
7723
+ underlayerMaxError?: number;
7480
7724
  /**
7481
7725
  * If true, the export will include text bounding boxes that account for glyph overhangs.
7482
7726
  * When enabled, text blocks with glyphs that extend beyond their frame (e.g., decorative fonts with swashes)
@@ -7875,6 +8119,33 @@ declare const MimeType_2: {
7875
8119
  declare type MimeType_2 = (typeof MimeType_2)[keyof typeof MimeType_2];
7876
8120
  export { MimeType_2 as MimeType }
7877
8121
 
8122
+ /**
8123
+ * A movement constraint rule. The scope is determined by which key is present:
8124
+ * neither (scene-wide default), `block` (per-block, includes pages), or
8125
+ * `blockType` (per-block-type).
8126
+ *
8127
+ * `overshoot` is a non-negative fraction of the moved block's own size.
8128
+ */
8129
+ declare type MovementConstraintRule = {
8130
+ overshoot: number;
8131
+ } | {
8132
+ overshoot: number;
8133
+ block: DesignBlockId;
8134
+ } | {
8135
+ overshoot: number;
8136
+ blockType: string;
8137
+ };
8138
+
8139
+ /**
8140
+ * A scope descriptor used to identify an existing movement constraint for
8141
+ * removal.
8142
+ */
8143
+ declare type MovementConstraintScope = {
8144
+ block: DesignBlockId;
8145
+ } | {
8146
+ blockType: string;
8147
+ };
8148
+
7878
8149
  /**
7879
8150
  * The block type IDs for all blocks types in the Creative Engine. Those are the types that can be
7880
8151
  * passed to `cesdk.engine.block.findByType(type)` for example.
@@ -7961,6 +8232,14 @@ declare interface Range_2 {
7961
8232
  }
7962
8233
  export { Range_2 as Range }
7963
8234
 
8235
+ /**
8236
+ * The effective movement constraint for a block, or `null` when no constraint
8237
+ * applies.
8238
+ */
8239
+ declare type ResolvedMovementConstraint = {
8240
+ overshoot: number;
8241
+ } | null;
8242
+
7964
8243
  /**
7965
8244
  * Represents a color in the RGBA color space.
7966
8245
  *
@@ -8050,7 +8329,7 @@ declare interface SaveToStringOptions {
8050
8329
  */
8051
8330
  compression?: {
8052
8331
  /** Compression format (None = no compression, Zstd = zstd compression) */
8053
- format?: CompressionFormat;
8332
+ format?: CompressionFormat_2;
8054
8333
  /** Compression level (Fastest, Default, Best) */
8055
8334
  level?: CompressionLevel;
8056
8335
  };
@@ -8172,7 +8451,7 @@ export declare class SceneAPI {
8172
8451
  allowedResourceSchemes?: string[];
8173
8452
  onDisallowedResourceScheme?: (url: string, dataHash: string) => Promise<string>;
8174
8453
  compression?: {
8175
- format?: CompressionFormat;
8454
+ format?: CompressionFormat_2;
8176
8455
  level?: CompressionLevel;
8177
8456
  };
8178
8457
  }): Promise<string>;
@@ -8718,7 +8997,7 @@ export declare const SceneModeValues: readonly ["Design", "Video"];
8718
8997
  export declare type Scope = 'text/edit' | 'text/character' | 'fill/change' | 'fill/changeType' | 'stroke/change' | 'shape/change' | 'layer/move' | 'layer/resize' | 'layer/rotate' | 'layer/flip' | 'layer/crop' | 'layer/opacity' | 'layer/blendMode' | 'layer/visibility' | 'layer/clipping' | 'appearance/adjustments' | 'appearance/filter' | 'appearance/effect' | 'appearance/blur' | 'appearance/shadow' | 'appearance/animation' | 'lifecycle/destroy' | 'lifecycle/duplicate' | 'editor/add' | 'editor/select';
8719
8998
 
8720
8999
  /** @public */
8721
- export declare type SettingBoolPropertyName = 'alwaysHighlightPlaceholders' | 'doubleClickToCropEnabled' | 'showBuildVersion' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'blockAnimations/enabled' | 'renderTextCursorAndSelectionInEngine' | 'touch/dragStartCanSelect' | 'touch/singlePointPanning' | 'mouse/enableZoom' | 'mouse/enableScroll' | 'controlGizmo/showCropHandles' | 'controlGizmo/showMoveHandles' | 'controlGizmo/dynamicMoveHandleVisibility' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/canEdit' | 'page/title/show' | 'page/title/showPageTitleTemplate' | 'page/title/appendPageName' | 'page/title/showOnSinglePage' | 'page/dimOutOfPageAreas' | 'page/allowCropInteraction' | 'page/allowResizeInteraction' | 'page/restrictResizeInteractionToFixedAspectRatio' | 'page/allowRotateInteraction' | 'page/allowMoveInteraction' | 'page/marqueeSelectOnBodyDrag' | 'page/restrictPageSelectionToBorderAndTitle' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'page/highlightWhenCropping' | 'page/highlightDropTarget' | 'page/reparentBlocksToSceneWhenOutOfPage' | 'colorMaskingSettings/secondPass' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | 'features/textEditModeTransformHandlesEnabled' | 'features/videoStreamingEnabled' | 'grid/enabled' | 'grid/snapEnabled' | 'features/enableAutomaticEnumerations' | (string & {});
9000
+ export declare type SettingBoolPropertyName = 'alwaysHighlightPlaceholders' | 'doubleClickToCropEnabled' | 'showBuildVersion' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'blockAnimations/enabled' | 'renderTextCursorAndSelectionInEngine' | 'touch/dragStartCanSelect' | 'touch/singlePointPanning' | 'mouse/enableZoom' | 'mouse/enableScroll' | 'controlGizmo/showCropHandles' | 'controlGizmo/showMoveHandles' | 'controlGizmo/dynamicMoveHandleVisibility' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/canEdit' | 'page/title/show' | 'page/title/showPageTitleTemplate' | 'page/title/appendPageName' | 'page/title/showOnSinglePage' | 'page/dimOutOfPageAreas' | 'page/allowCropInteraction' | 'page/allowResizeInteraction' | 'page/restrictResizeInteractionToFixedAspectRatio' | 'page/allowRotateInteraction' | 'page/allowMoveInteraction' | 'page/marqueeSelectOnBodyDrag' | 'page/restrictPageSelectionToBorderAndTitle' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'page/highlightWhenCropping' | 'page/highlightDropTarget' | 'page/reparentBlocksToSceneWhenOutOfPage' | 'colorMaskingSettings/secondPass' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | 'features/textEditModeTransformHandlesEnabled' | 'features/videoStreamingEnabled' | 'grid/enabled' | 'grid/snapEnabled' | 'features/enableAutomaticEnumerations' | 'features/transparentClickThroughEnabled' | (string & {});
8722
9001
 
8723
9002
  /** @public */
8724
9003
  export declare type SettingColorPropertyName = 'clearColor' | 'handleFillColor' | 'highlightColor' | 'pageHighlightColor' | 'placeholderHighlightColor' | 'snappingGuideColor' | 'rotationSnappingGuideColor' | 'cropOverlayColor' | 'textVariableHighlightColor' | 'borderOutlineColor' | 'progressColor' | 'errorStateColor' | 'page/title/color' | 'page/marginFillColor' | 'page/marginFrameColor' | 'page/innerBorderColor' | 'page/outerBorderColor' | 'colorMaskingSettings/maskColor' | 'grid/color' | (string & {});
@@ -9445,6 +9724,8 @@ declare interface UBQExportOptions {
9445
9724
  exportPdfWithUnderlayer: boolean;
9446
9725
  underlayerSpotColorName: string;
9447
9726
  underlayerOffset: number;
9727
+ underlayerRenderRatio: number;
9728
+ underlayerMaxError: number;
9448
9729
  allowTextOverhang: boolean;
9449
9730
  exportPdfWithDeviceCMYK: boolean;
9450
9731
  }