import type { Config, Data } from "@puckeditor/core"; /** * Matches `{{ pages["/path"].blocks["blockId"].props.propOr.nested }}`. * Path and block id are JSON string literals (same as `JSON.stringify`). */ export declare const CROSS_PAGE_REF_REGEX: RegExp; export declare const MAX_XREF_DEPTH = 10; /** * Full saved props for a block by `props.id`, or root field props for `root` / `puck-root`. */ export declare function getBlockPropsById(data: Data, componentId: string): Record | null; /** * Raw prop value from saved Puck data (string/number/boolean or undefined). * `propPath` may be dotted (e.g. `meta.alt`). */ export declare function getRawPropValue(data: Data, componentId: string, propPath: string): unknown; export declare function normalizeRoutePathForRef(p: string): string; /** * Human-readable cross-page reference, e.g. * `{{ pages["/"].blocks["ImageBlock-uuid"].props.src }}` */ export declare function encodePagesBlocksTemplate(path: string, blockId: string, propKey: string): string; export declare function isPagesBlocksTemplateString(value: unknown): boolean; export declare function isCrossPageRefTemplateString(value: unknown): boolean; export type FlatComponent = { id: string; type: string; label: string; }; export declare function flattenComponents(data: Data, config: Config): FlatComponent[]; export declare function listConnectablePropKeys(config: Config, componentType: string): string[];