import type { BlockRegistry } from "./registry.js"; import type { BlockSpec, BlockAttrReader } from "./types.js"; export declare function jsonExpression(value: unknown): string; export declare function escapeAttr(value: string): string; export declare function prop(name: string, value: unknown): string; export type MdxAttrNode = { type: string; name?: string; value?: string | null | MdxAttrExpression; }; type MdxAttrExpression = { type: string; value: string; data?: unknown; }; export type MdxJsxNode = { type: string; name?: string; attributes?: MdxAttrNode[]; children?: unknown[]; [key: string]: unknown; }; export declare function attributeValue(attr: MdxAttrNode | undefined): unknown; export declare function createAttrReader(node: MdxJsxNode): BlockAttrReader; export declare function childCodeFenceFields(childNodes: unknown[], fieldsByLang: Record): Partial; export declare function serializeChildCodeFenceFields(data: TData, fieldsByLang: Record): string; export interface SerializableBlock { id: string; title?: string; summary?: string; editable?: boolean; data: unknown; } export interface ParsedBlockBase { id: string; title?: string; summary?: string; editable?: boolean; } export declare function serializeSpecBlock(spec: BlockSpec, block: SerializableBlock): string; export declare function parseSpecBlock(registry: BlockRegistry, node: MdxJsxNode, base: ParsedBlockBase, children: string, idContext: string): { type: string; data: unknown; } | null; export {};