/**
 * Constants for validating declarative node layouts.
 *
 * These whitelists define which node types and transform IDs
 * are allowed in custom block layouts.
 */
/**
 * Valid node types for declarative layouts.
 *
 * This whitelist defines which component types can be used in
 * SdkCustomBlock.layout definitions. Node types not in this list
 * will be rejected during validation.
 */
export declare const ALLOWED_NODE_TYPES: readonly ["div", "figure", "section", "headerSection", "stack", "inline", "grid", "text", "richText", "media", "videoEmbed", "button", "link", "carousel", "accordion", "accordionItem", "form", "booking-form", "event-registration", "event-spotlight", "event-listing", "event-calendar", "event-combined", "shop", "product-list", "product-detail", "cart", "checkout", "gifting"];
export type AllowedNodeType = (typeof ALLOWED_NODE_TYPES)[number];
/**
 * Valid transform IDs for declarative layouts.
 *
 * This whitelist defines which transforms can be referenced in
 * $bind.transforms within custom block layouts. Transform IDs
 * not in this list will be rejected during validation.
 */
export declare const ALLOWED_TRANSFORM_IDS: readonly ["string.uppercase", "value.fallback", "date.formatShort", "array.length", "value.jsonArray", "array.marqueeLoop", "layout.maxWidthClass", "layout.headerRootClass", "layout.footerRootClass", "layout.headerRootStyle", "layout.footerRootStyle", "ui.headerNavLinkClass", "ui.headingClassFromAlignment", "ui.bodyClassFromAlignment", "ui.stackAlignFromAlignment", "ui.sectionStateTone", "ui.heroContentWrapperClass", "ui.heroCtaJustify", "ui.heroStackJustifyFromVerticalAlignment", "ui.heroGridClassFromVerticalAlignment", "ui.conditionalClass", "ui.twoColumnContainerClass", "ui.twoColumnFlexBasis", "ui.imageGalleryFilterClass", "ui.imageGalleryTileClass", "ui.imageGalleryTileStyle", "ui.imageGalleryMarqueeTileStyle", "ui.imageGalleryMarqueeDuration", "ui.imageGalleryMarqueeDirection", "ui.imageFragmentClass", "ui.imageFragmentSize", "media.fromUrl", "background.resolveStyle", "background.resolveColorsStyle", "background.resolveAllowOverflow", "background.resolveImageStyle", "background.resolveImageClassName", "background.resolveOverlayStyle", "links.resolve", "links.label", "content.interpolateRichTextTokens", "boxStyles.spacing", "boxStyles.resolveRootClass", "boxStyles.resolveRootStyle", "boxStyles.semanticGap", "boxStyles.semanticGapValue", "containerStyles.resolveBoxClassName"];
export type AllowedTransformId = (typeof ALLOWED_TRANSFORM_IDS)[number];
/**
 * Set for O(1) lookup of allowed node types.
 */
export declare const ALLOWED_NODE_TYPES_SET: Set<string>;
/**
 * Set for O(1) lookup of allowed transform IDs.
 */
export declare const ALLOWED_TRANSFORM_IDS_SET: Set<string>;
/**
 * Check if a node type is allowed in layouts.
 */
export declare function isAllowedNodeType(type: string): type is AllowedNodeType;
/**
 * Check if a transform ID is allowed in layouts.
 */
export declare function isAllowedTransformId(id: string): id is AllowedTransformId;
