/** * The record (string-keyed map) field renderer. Each entry is a key input plus a * value editor built from the map's value schema; add appends a blank-key entry, * remove drops one by row. Rows carry a synthetic stable id — not their key — so * an entry keeps its identity (and focus) while its key is being typed, and so a * transiently blank or duplicate key never remounts a row or clobbers another. * * The emitted value is a plain object of the VALID entries. A blank key and a * duplicate key are held in local row state and surfaced (never emitted, never * silently merged): the map cannot represent two entries under one key, so the * later duplicate is withheld and flagged rather than overwriting the first. */ import type { ReactNode } from 'react'; import type { JsonSchema, SchemaFormErrors } from './types'; export declare function RecordField({ heading, description, error, values, root, value, onChange, path, errors, idPrefix, }: { heading: string; description: string | undefined; error: string | undefined; values: JsonSchema; root: JsonSchema; value: unknown; onChange: (value: unknown) => void; path: string; errors: SchemaFormErrors | undefined; idPrefix: string; }): ReactNode; //# sourceMappingURL=record-field.d.ts.map