@bettercms-ai/types 1.50.1 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -436,6 +436,11 @@ interface ContentModelField {
436
436
  * translation write that changes one is 409 `FIELD_NOT_LOCALIZED`. None marked: rows copy as before.
437
437
  */
438
438
  localized?: boolean;
439
+ /**
440
+ * Schema V2 archive: the field is out of the entry form and the delivery API. Its key and
441
+ * stored values stay, so `false` restores it with nothing lost.
442
+ */
443
+ archived?: boolean;
439
444
  /**
440
445
  * Authoring chrome — how the field PRESENTS in the editor. Never delivered, never read by a
441
446
  * renderer, and never able to move a value; the same contract as {@link placement}.
@@ -569,7 +574,7 @@ type ZoneField = ContentModelField;
569
574
  * wording improves), a person in the dashboard (`human`) or an agent over the API (`agent`). Only
570
575
  * `auto` text is ever replaced. Server-owned: a client's copy is ignored.
571
576
  */
572
- type HelpSource = "auto" | "human" | "agent";
577
+ type HelpSource = "auto" | "site" | "human" | "agent";
573
578
 
574
579
  /**
575
580
  * Page — a published content page within a workspace.
@@ -597,6 +602,61 @@ interface Page {
597
602
  } | null;
598
603
  }
599
604
 
605
+ /**
606
+ * A page BODY's own allow-list: which components a page accepts as sections (`pages.body_schema`,
607
+ * migration 0494). "A page accepts only the components built for that page."
608
+ *
609
+ * A third axis beside a zone's `allowedSections` and a component's `allowedOn`, judged by the same
610
+ * resolver (`resolveInsertableSections`, deny reason `not-in-body-allowlist`).
611
+ *
612
+ * 🔴 THE EMPTY-ARRAY TRAP, the same as on both other lists:
613
+ * body_schema NULL = UNRESTRICTED (every page that predates 0494; today's behaviour)
614
+ * `allowed: []` = DENY-ALL — no component is accepted. Never write `[]` to mean "unset":
615
+ * unset is the column being NULL.
616
+ */
617
+ /**
618
+ * One rule. A component is accepted when ANY rule matches it.
619
+ *
620
+ * source built for this page: `splitSourceKey(component.sourceKey).page === pageId`, read off the
621
+ * component's CURRENT source key at judge time (never a string prefix). A component with
622
+ * no source key, or one whose key names no page (a shared band, a pre-per-page key), is
623
+ * not built for any page.
624
+ * component exactly this component id.
625
+ * family any component of this section family (`sectionType`, trimmed, case-insensitive) — so a
626
+ * variant swap passes iff its TARGET passes.
627
+ * builtins the platform's built-in sections (`builtin:*`), and a project's copy of one.
628
+ * workspace the workspace's shared components (`project_id IS NULL`).
629
+ */
630
+ type AllowRule = {
631
+ kind: "source";
632
+ pageId: string;
633
+ } | {
634
+ kind: "component";
635
+ id: string;
636
+ } | {
637
+ kind: "family";
638
+ sectionType: string;
639
+ } | {
640
+ kind: "builtins";
641
+ } | {
642
+ kind: "workspace";
643
+ };
644
+ /** Who wrote the list: a lane's guess (componentize), a person's confirmation of it, or a person's own. */
645
+ type BodySchemaOrigin = "inferred" | "confirmed" | "authored";
646
+ interface BodySchema {
647
+ /** `[]` = deny-all. See the file header: unset is a NULL column, never an empty list. */
648
+ allowed: AllowRule[];
649
+ origin: BodySchemaOrigin;
650
+ }
651
+ declare const BODY_SCHEMA_ORIGINS: readonly BodySchemaOrigin[];
652
+ /** Pure. One stored rule as an `AllowRule`, or null for one this reader does not know (it matches nothing). */
653
+ declare function allowRuleOf(value: unknown): AllowRule | null;
654
+ /**
655
+ * Pure. A stored `body_schema` as a `BodySchema`, or null (unrestricted) when it is not one.
656
+ * An unknown rule is dropped, which narrows the list — never widens it.
657
+ */
658
+ declare function bodySchemaOf(value: unknown): BodySchema | null;
659
+
600
660
  /**
601
661
  * Section spacing as TOKEN STEPS — the ONE list of names and default sizes, shared by the save
602
662
  * schema and every renderer. A stored value is always a token (`section-space-large`), never a
@@ -1337,6 +1397,12 @@ interface ComponentProps {
1337
1397
  * while `bind` is; dropped with it when the instance takes its copy.
1338
1398
  */
1339
1399
  bindPaths?: Record<string, string>;
1400
+ /**
1401
+ * Phase B: the props this INSTANCE does not own — their copy stays in the page's own field, which
1402
+ * the page lane keeps binding — and why: `{ <propKey>: "RICHTEXT_HEADING" | "BUTTON_LOOK_UNMAPPED" }`.
1403
+ * The dock hides these props: an override written there renders nowhere.
1404
+ */
1405
+ kept?: Record<string, "RICHTEXT_HEADING" | "BUTTON_LOOK_UNMAPPED">;
1340
1406
  }
1341
1407
  interface ComponentBlock {
1342
1408
  type: "component";
@@ -1637,7 +1703,14 @@ declare function usesHideOn(blocks: unknown): boolean;
1637
1703
  * Returns "" for anything it does not fully trust. Twin of `safeCssUrl` in render-page.ts.
1638
1704
  */
1639
1705
  declare function safeCssUrl(raw: unknown): string;
1640
- /** A CSS declaration object (key → value) usable as a React `style` prop, or undefined when empty. */
1706
+ /**
1707
+ * A CSS declaration object (key → value) usable as a React `style` prop, or undefined when empty.
1708
+ *
1709
+ * Surfaces (twin: `platformSectionCss` in src/lib/sites/render-page.ts): no theme and no fill set no
1710
+ * background, so the root is transparent; a `surface`/`muted` fill reads the kit's custom properties
1711
+ * (`--bcms-bg-surface`/`--bcms-bg-muted`), which a code-built page with no kit sets transparent;
1712
+ * an explicit theme Light/Dark is opaque by the author's choice; text colour inherits unless set.
1713
+ */
1641
1714
  declare function blockStyleToCss(style: BlockStyle | undefined): Record<string, string | number> | undefined;
1642
1715
  /**
1643
1716
  * The content column: the declarations for the INNER box a renderer nests between a block's
@@ -1787,7 +1860,7 @@ interface LayoutFieldDefinition {
1787
1860
  /** Shown to editors under the field. */
1788
1861
  helpText?: string;
1789
1862
  /** Server-owned: who wrote `helpText`. */
1790
- helpSource?: "auto" | "human" | "agent";
1863
+ helpSource?: "auto" | "site" | "human" | "agent";
1791
1864
  /** `true`: no route the last release inspected renders this field — hidden, never deleted. `false`: a person keeps it shown. */
1792
1865
  stale?: boolean;
1793
1866
  /** false: a page may not override this value; the Global value renders on every page. Absent = true. */
@@ -2288,7 +2361,7 @@ interface ComponentPropDef {
2288
2361
  /** Hint shown under the control, muted. */
2289
2362
  helpText?: string;
2290
2363
  /** Server-owned: who wrote `helpText`. */
2291
- helpSource?: "auto" | "human" | "agent";
2364
+ helpSource?: "auto" | "site" | "human" | "agent";
2292
2365
  /** Ghost text inside a text-ish control. */
2293
2366
  placeholder?: string;
2294
2367
  /**
@@ -2467,7 +2540,7 @@ interface ComponentSubField {
2467
2540
  /** The same editor hints as the prop above, one level down. @see ComponentPropDef */
2468
2541
  required?: boolean;
2469
2542
  helpText?: string;
2470
- helpSource?: "auto" | "human" | "agent";
2543
+ helpSource?: "auto" | "site" | "human" | "agent";
2471
2544
  placeholder?: string;
2472
2545
  options?: Array<string | ChoiceOption>;
2473
2546
  /** The V2 editor keys, one level down. `showIf` names SIBLING sub-fields. @see ComponentPropDef */
@@ -2712,6 +2785,53 @@ declare function slotShapeProblems(value: unknown, opts?: SlotShapeOptions): Slo
2712
2785
  /** `rows[2]._key`-style path text for a problem path. */
2713
2786
  declare const slotPathString: (path: Array<string | number>) => string;
2714
2787
 
2788
+ /**
2789
+ * What the dock says under a field, as data both sides read: the backend's generator
2790
+ * (src/lib/content/help-text.ts) writes the role sentence and the control's how-to into the
2791
+ * stored `helpText`; the dashboard adds a list column's example per row ({@link exampleFor}),
2792
+ * because the example depends on WHICH row is open and a stored line has one value for all rows.
2793
+ *
2794
+ * A field's help, joined with single spaces, at most {@link HELP_MAX} characters (two dock lines):
2795
+ * 1. a role sentence (@see ROLE_HELP), or the site's own words where the markup has them;
2796
+ * 2. the control's how-to (@see CONTROL_HELP), only where the canvas has the gesture it names;
2797
+ * 3. for a column of a list, `e.g. "<value>"` from the nearest OTHER row.
2798
+ *
2799
+ * Pure. No DOM, no I/O.
2800
+ */
2801
+ /** Two dock lines at 12px in a ~250px column. */
2802
+ declare const HELP_MAX = 160;
2803
+ /**
2804
+ * What one role holds, said once: the role words a structural key ends in (@see ROLE_KEYS in
2805
+ * sections.ts, and the server's ROLE_VOCABULARY), plus the words a band's shape and a list give.
2806
+ * Never the label again, never writing advice.
2807
+ */
2808
+ declare const ROLE_HELP: Readonly<Record<string, string>>;
2809
+ /**
2810
+ * The canvas gestures a how-to may name, each one a control the Visual Editor draws:
2811
+ * rows.reorder — a selected row's grip (dashboard canvas/dnd/RowGrip.tsx);
2812
+ * image.replace — a click on a picture opens its popover (CanvasImagePopover.tsx);
2813
+ * link.popover — a click on a button or link opens its editor (CanvasButtonPopover.tsx);
2814
+ * text.inline — a click on copy puts the caret in it (canvasInlineText.ts).
2815
+ * The dashboard exports the same names beside those components (CANVAS_GESTURES) and its test
2816
+ * fails when one is missing.
2817
+ */
2818
+ declare const CANVAS_GESTURE_NAMES: readonly ["rows.reorder", "image.replace", "link.popover", "text.inline"];
2819
+ type CanvasGesture = (typeof CANVAS_GESTURE_NAMES)[number];
2820
+ /** A control kind the canvas can also edit. A kind with no gesture (an icon, a switch) has no how-to. */
2821
+ type ControlKind = "rows" | "image" | "link" | "text";
2822
+ declare const CONTROL_HELP: Readonly<Record<ControlKind, {
2823
+ text: string;
2824
+ gesture: CanvasGesture;
2825
+ }>>;
2826
+ /**
2827
+ * `e.g. "<value>"` for column `column` of row `i`: the nearest OTHER row's value (i-1, then i+1,
2828
+ * then further out), the first non-empty one that differs from row i's own. When none differs, or
2829
+ * there is one row, row i's own value. Undefined when the column holds no quotable words.
2830
+ */
2831
+ declare function exampleFor(column: string, rows: readonly unknown[], i: number): string | undefined;
2832
+ /** A stored line with its row's example after it: one space between, the example dropped rather than run past {@link HELP_MAX}. */
2833
+ declare function withExample(help: string | undefined, example: string | undefined): string | undefined;
2834
+
2715
2835
  /**
2716
2836
  * The dock's click budget, as ONE pure function both ends read (V9): the backend's next-steps
2717
2837
  * rules call it on live data, and the dashboard's reach test measures its RENDERED dock against the
@@ -2881,6 +3001,31 @@ declare function derivedPairs(candidates: readonly ButtonLinkCandidate[]): Map<n
2881
3001
  /** Every unambiguous pair in one sibling list, as `[textIndex, linkIndex]`, in list order. */
2882
3002
  declare function buttonLinkPairs(candidates: readonly ButtonLinkCandidate[]): Array<[number, number]>;
2883
3003
 
3004
+ /**
3005
+ * THE link-label rule, pure: which sibling a text LABEL links with by its name alone. A label that pairs
3006
+ * is one link to the author (the dashboard's `linkLabelHref`: a click opens the Link popover over both
3007
+ * values); one that does not is plain text, unless the owner names its partner (`config.linkHref`, the
3008
+ * editable plan's `link-pair` answer).
3009
+ *
3010
+ * 1. `<key>` pairs with `<key>-href` (the annotator's spelling).
3011
+ * 2. `label` pairs with `label-href`, `href`, `url` or `link`, first found (a nav or footer row).
3012
+ * 3. The partner must be link-typed (`link`, `url`).
3013
+ *
3014
+ * The plan asks only about the pairs this rule misses. Its twin is the dashboard's `linkLabelHref`
3015
+ * (src/features/live-preview/identity/controlAt.ts), proven against one fixture on both sides
3016
+ * (`__tests__/fixtures/link-pairs.json`).
3017
+ */
3018
+ /** A sibling as either side spells it: a stored field (`key`) or a V2 schema field (`name`). */
3019
+ interface LinkPairSibling {
3020
+ name?: string;
3021
+ key?: string;
3022
+ type?: string;
3023
+ }
3024
+ /** The sibling the rule pairs `labelKey` with, or null. PURE. */
3025
+ declare function rulePartnerOf(labelKey: string, siblings: readonly LinkPairSibling[]): string | null;
3026
+ /** Does the rule pair `labelKey` with a link-typed sibling by name? PURE. */
3027
+ declare const isRulePaired: (labelKey: string, siblings: readonly LinkPairSibling[]) => boolean;
3028
+
2884
3029
  /**
2885
3030
  * The V2 video value (DESIGN.md §6.2, §8.15): a pasted provider link or a file URL, as a bare
2886
3031
  * string or as `{ url, poster?, autoplay?, loop?, transcript? }`.
@@ -3655,6 +3800,15 @@ interface DerivedLocator {
3655
3800
  groupKey: string;
3656
3801
  index: number;
3657
3802
  };
3803
+ /**
3804
+ * Each ancestor's index among ITS parent's element children, in `ancestors` order.
3805
+ *
3806
+ * The chain and the sibling index stop at one level: two price cards in one grid each hold
3807
+ * `<span>.00</span>` at `div>div>span`, index 1, and those two locators are one address. With
3808
+ * the path they are two. Minted only under the field-identity grammar (@see locatorPath), and
3809
+ * compared only where the stored side has one: a locator without it matches as it always did.
3810
+ */
3811
+ path?: number[];
3658
3812
  }
3659
3813
  /** The DOM surface `locatorFor` reads. `Element` satisfies it; so does a plain object. */
3660
3814
  interface ElementLike {
@@ -3691,6 +3845,18 @@ interface LandmarkChainElement extends ElementLike {
3691
3845
  */
3692
3846
  declare function locatorFor(el: ElementLike, region: string | null): DerivedLocator;
3693
3847
  declare function locatorFor(el: LandmarkChainElement, region: string | null, landmarks: boolean): DerivedLocator;
3848
+ /**
3849
+ * `DerivedLocator.path` for an element: its ancestors' own sibling indices, over the very chain
3850
+ * `locatorFor` walks (same stop, same order), so the two always describe one chain.
3851
+ */
3852
+ declare function locatorPath(el: ElementLike, landmarks?: false): number[];
3853
+ declare function locatorPath(el: LandmarkChainElement, landmarks: boolean): number[];
3854
+ /**
3855
+ * Where a RESOLVED locator keeps its element's `path`: a symbol, so a locator a resolver hands out
3856
+ * has no `path` of its own. Used as the stored side (a pin, a test's expectation) it compares as it
3857
+ * always did, and it serializes as it always did. `atLocator` reads it by this registry key.
3858
+ */
3859
+ declare const LOCATOR_PATH: unique symbol;
3694
3860
  /** The DOM surface `landmarkRegions` reads of each element it considers. */
3695
3861
  interface LandmarkElement {
3696
3862
  tagName: string;
@@ -3771,6 +3937,18 @@ declare function regionOf<E extends {
3771
3937
  * "Span" and "Icon".
3772
3938
  */
3773
3939
  declare const TAG_HEADS: ReadonlySet<string>;
3940
+ /**
3941
+ * The ROLES a structural key ends in (`hero-headline`, `pricing-plans[0].plan-name`): what a value
3942
+ * is FOR, never which element holds it. The same closed list as the server's `ROLE_VOCABULARY`
3943
+ * (src/lib/content/field-names.ts); this package ships alone, so the two change together.
3944
+ */
3945
+ declare const ROLE_KEYS: ReadonlySet<string>;
3946
+ /**
3947
+ * Is this WHOLE key a bare role — `headline`, `primary-button-href`, `link-2` — the key a value
3948
+ * outside any band gets? Such a key names no family. Only the whole key: `features-heading` is
3949
+ * the `features` family, and `video-h2-take-the-tour` a tag-grammar key whose family is `video`.
3950
+ */
3951
+ declare function isRoleKey(key: string): boolean;
3774
3952
  /** The top-level field key a path belongs to: `hero.title` → `hero`, `faq[0].q` → `faq`. */
3775
3953
  declare const topFieldKeyOf: (path: string) => string;
3776
3954
  /**
@@ -3823,4 +4001,4 @@ type SectionPlanItem<B> = {
3823
4001
  */
3824
4002
  declare function planSections<B>(slots: readonly string[], blocks: readonly B[] | null | undefined): SectionPlanItem<B>[];
3825
4003
 
3826
- export { type AlignToken, type ApiError, type ApiKey, type ApiKeyPermission, type ApiKeyTokenType, type ArrayZoneConfig, type AssertEqual, type AuthResponse, type AuthSession, type AuthUser, BLOCK_BINDINGS, BREAKPOINTS, BUTTON_ACTIONS, BUTTON_FULL_WIDTH_INVALID, BUTTON_ICONS, BUTTON_ICON_NAMES, BUTTON_LOOK_KEYS, BUTTON_PLACEMENT_KEYS, BUTTON_SIZES, BUTTON_VARIANTS, type BetterCMSErrorCode, type BgToken, type BindingKind, type BlockBinding, type BlockHoverStyle, type BlockStyle, type BlockType, type ButtonAction, type ButtonBlock, type ButtonIcon, type ButtonLinkCandidate, type ButtonLookKey, type ButtonProps, type ButtonSiteLook, type ButtonSizeName, type ButtonValue, type ButtonVariant, CODE_SLOT_PREFIX, COMPONENT_PROP_TYPES, type CanonicalInputDefinition, type ChoiceOption, type CollectionBlock, type CollectionFilter, type CollectionProps, type ColorToken, type ColumnsBlock, type ColumnsProps, type Component, type ComponentBlock, type ComponentCategory, type ComponentFormPropRef, type ComponentPreview, type ComponentPropDef, type ComponentPropType, type ComponentPropUi, type ComponentProps, type ComponentSubField, type ComponentTab, type ComponentVariantGroup, type Content, type ContentBlock, type ContentEntry, type ContentModel, type ContentModelField, type ContentModelFieldType, type ContentModelFieldUi, type ContentPageResult, type ContentResponse, type ContentWidthToken, type CornerToken, DIALOG_SELECTOR, DOCK_BUDGET, DOCK_ICON_NAMES, DOCK_ICON_NAME_SET, type DeepReadonly, type DeliveredLayout, type DeliveryComponent, type DeliveryEntry, type DeliveryEntrySeo, type DeliveryList, type DeliveryPage, type DerivedLocator, type DockBudget, type DockFieldLike, type DockFieldsetLike, type DockIconName, type DockInputRef, type DockLane, type DockNode, type DockPropGroupLike, type DockScreen, type ElementLike, type ExpandedBinding, FIELD_SIZE_ZOOM, FIELD_STYLE_KEYS, FOOTER_SECTION_ID, type FieldConfig, type FieldSize, type FieldStyle, type FieldStyleKey, type FieldStyles, type Fieldset, type FieldsetKind, type FieldsetUiBefore, type FontSizeToken, type FooterBlock, type FooterColumn, type FooterProps, type Form, type FormBlock, type FormField, type FormProps, type FormSubmission, type HeadingBlock, type HeadingProps, IMAGE_ASPECTS, IMAGE_FRAME_RADIUS, type ImageAspect, type ImageBlock, type ImageProps, LANDMARK_SELECTOR, LAYOUT_SECTION_ICONS, LAYOUT_SECTION_ICON_SET, LINK_RELS, LINK_VALUE_TYPES, LIST_ITEMS_CAP, type LandmarkChainElement, type LandmarkElement, type LayoutComponentItem, type LayoutDataDocument, type LayoutFieldDefinition, type LayoutFieldItem, type LayoutFieldType, type LayoutScalarFieldType, type LayoutSection, type LayoutSectionIcon, type LayoutSectionItem, type LayoutStructureDocument, type LayoutZone, type LinkRel, type LinkValue, type LinkValueType, type LocatorGrammar, MAIN_SELECTOR, type ManagementLayoutCommand, type MediaAsset, type MediaCaptionTrack, type MediaFieldValue, NAVIGATION_SECTION_ID, type NavLink, type NavbarBlock, type NavbarProps, type NumberFieldFormat, type NumberScale, OPTION_DESCRIPTION_MAX, type OpenMode, PAGE_CONTENT_ANCHOR_ID, type Page, type PageLayoutOverrideDataDocument, type PageLayoutOverrideDocument, type PageLayoutOverrideState, type PageLayoutOverrideStructureDocument, type PageLayoutSectionOverride, type PageLayoutSectionStructureOverride, type PageMetaJson, type PageOnlyLayoutSection, type PageSectionPlacement, type PaginatedResult, type Perspective, type PortableTextDocument, type PortableTextNode, type PropGroup, type PropTab, RESPONSIVE_CSS, type RadiusToken, type ReadButtonValue, type Redirect, type ReservedLayoutSection, type ResolvedLayoutNode, type RichTextBlock, type RichTextProps, SECTION_DOCTRINE, SECTION_SPACE_TOKENS, SIDE_SPACE_MIN_PX, SIDE_SPACE_TOKENS, SLOT_CHILD_KEYS, SLOT_ITEMS_CAP, SLOT_MAX_ITEMS, SPACE_BOTTOM_TOKENS, SPACE_STEP_TOKENS, type ScaleUnit, type SectionBlock, type SectionPlanItem, type SectionProps, type SectionSpaceToken, type ShadowToken, type ShowIf, type ShowIfRule, type SignInInput, type SignUpInput, type SiteSeoDefaults, type SlideItem, type SliderBlock, type SliderProps, type SlotChild, type SlotItem, type SlotShapeOptions, type SlotShapeProblem, type SlotValue, type SpaceStepToken, type SpaceToken, type SpacerBlock, type SpacerProps, TABLE_COLUMN_TYPES, TABLE_JSONLD_TYPES, TABLE_LIMITS, TABLE_RESPONSIVE, TAG_HEADS, type TabItem, type TableCell, type TableCellObject, type TableCellValue, type TableCheckOptions, type TableColumn, type TableColumnType, type TableFieldOptions, type TableFootnote, type TableGroup, type TableLink, type TableProblem, type TableRef, type TableRefResolved, type TableRow, type TableValue, type TabsBlock, type TabsProps, type TextBlock, type TextProps, type ThemeToken, type UiBefore, type UiOrigin, VIDEO_TRANSCRIPT_MAX, VIDEO_VALUE_KEYS, type VariantInputMapping, type VideoBlock, type VideoProps, type VideoValue, type VisibilityWindow, type WeightToken, type WindowState, type Workspace, type ZoneField, anchorTargetRel, blockStyleToColumnCss, blockStyleToCss, blockStyleToInnerCss, buttonBlockProps, buttonFullWidthProblem, buttonIconOf, buttonIconSvg, buttonLinkPairs, buttonLookValue, buttonSiteLookOf, buttonValueOfInstance, buttonValueProblem, buttonVariantOf, candidateRole, componentInstanceAddresses, componentPropTargetKey, derivedPairs, dockBudget, dockScreens, expandBlockBindings, fieldGroupOf, fieldStyleCssText, fieldStyleToCss, formatNumber, formatPropsAttribute, getBlockType, headingPaintCss, hiddenEverywhere, hideOnAttr, imageFrameCss, inWindow, isBlock, isButtonLookValue, isChromeLandmark, isCodeButton, isLinkObject, isScriptHref, isSlotChild, isTableValue, keyWords, landmarkRegions, linkAnchorOf, linkHref, linkRefOf, linkValueProblem, locatorFor, normalizeLinkValue, normalizeTableValue, normalizeWindow, parseNumberText, parsePropsAttribute, pickFieldStyle, placementBindOf, planSections, readButtonValue, readNumberFormat, readPath, regionOf, renderTableHtml, safeCssUrl, sideFloorApplies, sideSpaceCss, slotBindOf, slotChildValues, slotItems, slotPathString, slotShapeProblems, spaceTokenCss, splitButtonStyle, tableCellText, tablePathString, tableRefCells, tableSearchText, tableToMarkdown, tableValueProblems, topFieldKeyOf, usesHideOn, videoUrlOf, videoValueProblem, visibleBlocks, visibleDeliveredLayout, visibleLayoutStructure, windowState, withButtonLookProps };
4004
+ export { type AlignToken, type AllowRule, type ApiError, type ApiKey, type ApiKeyPermission, type ApiKeyTokenType, type ArrayZoneConfig, type AssertEqual, type AuthResponse, type AuthSession, type AuthUser, BLOCK_BINDINGS, BODY_SCHEMA_ORIGINS, BREAKPOINTS, BUTTON_ACTIONS, BUTTON_FULL_WIDTH_INVALID, BUTTON_ICONS, BUTTON_ICON_NAMES, BUTTON_LOOK_KEYS, BUTTON_PLACEMENT_KEYS, BUTTON_SIZES, BUTTON_VARIANTS, type BetterCMSErrorCode, type BgToken, type BindingKind, type BlockBinding, type BlockHoverStyle, type BlockStyle, type BlockType, type BodySchema, type BodySchemaOrigin, type ButtonAction, type ButtonBlock, type ButtonIcon, type ButtonLinkCandidate, type ButtonLookKey, type ButtonProps, type ButtonSiteLook, type ButtonSizeName, type ButtonValue, type ButtonVariant, CANVAS_GESTURE_NAMES, CODE_SLOT_PREFIX, COMPONENT_PROP_TYPES, CONTROL_HELP, type CanonicalInputDefinition, type CanvasGesture, type ChoiceOption, type CollectionBlock, type CollectionFilter, type CollectionProps, type ColorToken, type ColumnsBlock, type ColumnsProps, type Component, type ComponentBlock, type ComponentCategory, type ComponentFormPropRef, type ComponentPreview, type ComponentPropDef, type ComponentPropType, type ComponentPropUi, type ComponentProps, type ComponentSubField, type ComponentTab, type ComponentVariantGroup, type Content, type ContentBlock, type ContentEntry, type ContentModel, type ContentModelField, type ContentModelFieldType, type ContentModelFieldUi, type ContentPageResult, type ContentResponse, type ContentWidthToken, type ControlKind, type CornerToken, DIALOG_SELECTOR, DOCK_BUDGET, DOCK_ICON_NAMES, DOCK_ICON_NAME_SET, type DeepReadonly, type DeliveredLayout, type DeliveryComponent, type DeliveryEntry, type DeliveryEntrySeo, type DeliveryList, type DeliveryPage, type DerivedLocator, type DockBudget, type DockFieldLike, type DockFieldsetLike, type DockIconName, type DockInputRef, type DockLane, type DockNode, type DockPropGroupLike, type DockScreen, type ElementLike, type ExpandedBinding, FIELD_SIZE_ZOOM, FIELD_STYLE_KEYS, FOOTER_SECTION_ID, type FieldConfig, type FieldSize, type FieldStyle, type FieldStyleKey, type FieldStyles, type Fieldset, type FieldsetKind, type FieldsetUiBefore, type FontSizeToken, type FooterBlock, type FooterColumn, type FooterProps, type Form, type FormBlock, type FormField, type FormProps, type FormSubmission, HELP_MAX, type HeadingBlock, type HeadingProps, IMAGE_ASPECTS, IMAGE_FRAME_RADIUS, type ImageAspect, type ImageBlock, type ImageProps, LANDMARK_SELECTOR, LAYOUT_SECTION_ICONS, LAYOUT_SECTION_ICON_SET, LINK_RELS, LINK_VALUE_TYPES, LIST_ITEMS_CAP, LOCATOR_PATH, type LandmarkChainElement, type LandmarkElement, type LayoutComponentItem, type LayoutDataDocument, type LayoutFieldDefinition, type LayoutFieldItem, type LayoutFieldType, type LayoutScalarFieldType, type LayoutSection, type LayoutSectionIcon, type LayoutSectionItem, type LayoutStructureDocument, type LayoutZone, type LinkPairSibling, type LinkRel, type LinkValue, type LinkValueType, type LocatorGrammar, MAIN_SELECTOR, type ManagementLayoutCommand, type MediaAsset, type MediaCaptionTrack, type MediaFieldValue, NAVIGATION_SECTION_ID, type NavLink, type NavbarBlock, type NavbarProps, type NumberFieldFormat, type NumberScale, OPTION_DESCRIPTION_MAX, type OpenMode, PAGE_CONTENT_ANCHOR_ID, type Page, type PageLayoutOverrideDataDocument, type PageLayoutOverrideDocument, type PageLayoutOverrideState, type PageLayoutOverrideStructureDocument, type PageLayoutSectionOverride, type PageLayoutSectionStructureOverride, type PageMetaJson, type PageOnlyLayoutSection, type PageSectionPlacement, type PaginatedResult, type Perspective, type PortableTextDocument, type PortableTextNode, type PropGroup, type PropTab, RESPONSIVE_CSS, ROLE_HELP, ROLE_KEYS, type RadiusToken, type ReadButtonValue, type Redirect, type ReservedLayoutSection, type ResolvedLayoutNode, type RichTextBlock, type RichTextProps, SECTION_DOCTRINE, SECTION_SPACE_TOKENS, SIDE_SPACE_MIN_PX, SIDE_SPACE_TOKENS, SLOT_CHILD_KEYS, SLOT_ITEMS_CAP, SLOT_MAX_ITEMS, SPACE_BOTTOM_TOKENS, SPACE_STEP_TOKENS, type ScaleUnit, type SectionBlock, type SectionPlanItem, type SectionProps, type SectionSpaceToken, type ShadowToken, type ShowIf, type ShowIfRule, type SignInInput, type SignUpInput, type SiteSeoDefaults, type SlideItem, type SliderBlock, type SliderProps, type SlotChild, type SlotItem, type SlotShapeOptions, type SlotShapeProblem, type SlotValue, type SpaceStepToken, type SpaceToken, type SpacerBlock, type SpacerProps, TABLE_COLUMN_TYPES, TABLE_JSONLD_TYPES, TABLE_LIMITS, TABLE_RESPONSIVE, TAG_HEADS, type TabItem, type TableCell, type TableCellObject, type TableCellValue, type TableCheckOptions, type TableColumn, type TableColumnType, type TableFieldOptions, type TableFootnote, type TableGroup, type TableLink, type TableProblem, type TableRef, type TableRefResolved, type TableRow, type TableValue, type TabsBlock, type TabsProps, type TextBlock, type TextProps, type ThemeToken, type UiBefore, type UiOrigin, VIDEO_TRANSCRIPT_MAX, VIDEO_VALUE_KEYS, type VariantInputMapping, type VideoBlock, type VideoProps, type VideoValue, type VisibilityWindow, type WeightToken, type WindowState, type Workspace, type ZoneField, allowRuleOf, anchorTargetRel, blockStyleToColumnCss, blockStyleToCss, blockStyleToInnerCss, bodySchemaOf, buttonBlockProps, buttonFullWidthProblem, buttonIconOf, buttonIconSvg, buttonLinkPairs, buttonLookValue, buttonSiteLookOf, buttonValueOfInstance, buttonValueProblem, buttonVariantOf, candidateRole, componentInstanceAddresses, componentPropTargetKey, derivedPairs, dockBudget, dockScreens, exampleFor, expandBlockBindings, fieldGroupOf, fieldStyleCssText, fieldStyleToCss, formatNumber, formatPropsAttribute, getBlockType, headingPaintCss, hiddenEverywhere, hideOnAttr, imageFrameCss, inWindow, isBlock, isButtonLookValue, isChromeLandmark, isCodeButton, isLinkObject, isRoleKey, isRulePaired, isScriptHref, isSlotChild, isTableValue, keyWords, landmarkRegions, linkAnchorOf, linkHref, linkRefOf, linkValueProblem, locatorFor, locatorPath, normalizeLinkValue, normalizeTableValue, normalizeWindow, parseNumberText, parsePropsAttribute, pickFieldStyle, placementBindOf, planSections, readButtonValue, readNumberFormat, readPath, regionOf, renderTableHtml, rulePartnerOf, safeCssUrl, sideFloorApplies, sideSpaceCss, slotBindOf, slotChildValues, slotItems, slotPathString, slotShapeProblems, spaceTokenCss, splitButtonStyle, tableCellText, tablePathString, tableRefCells, tableSearchText, tableToMarkdown, tableValueProblems, topFieldKeyOf, usesHideOn, videoUrlOf, videoValueProblem, visibleBlocks, visibleDeliveredLayout, visibleLayoutStructure, windowState, withButtonLookProps, withExample };