import { AnyRichTextComponentDefinition } from '../registry/types'; export type AttributeValues = Record; export type AttributeErrors = Record; export interface ValidationMessages { required: string; invalidJson: string; invalidNumber: string; outOfRange: string; } export declare const isContainerComponent: (definition: AnyRichTextComponentDefinition) => boolean; /** Attribute values a freshly inserted node starts with: schema defaults overridden by definition.defaultAttrs. */ export declare function initialAttrs(definition: AnyRichTextComponentDefinition): AttributeValues; /** Dialog state for stored attrs: json fields become editable strings, everything else is unchanged. */ export declare function toFormValues(definition: AnyRichTextComponentDefinition, attrs: AttributeValues): AttributeValues; /** "Label: value" pairs for form-visible attributes, joined with " ยท "; empty values are skipped. */ export declare function attributeSummary(definition: AnyRichTextComponentDefinition, attrs: AttributeValues): string; /** Coerces dialog input per field type; `values` is only meaningful when `errors` is empty. */ export declare function validateAttrs(definition: AnyRichTextComponentDefinition, attrs: AttributeValues, messages: ValidationMessages): { values: AttributeValues; errors: AttributeErrors; };