import { TemplateResult } from 'lit'; import { BahtElement } from '../base.js'; /** * Inline key = value row editor (field maps, config objects, …). * Controlled: set `value`, listen for `baht-change` ({ value }) — rows with an * empty key are kept while editing but dropped from the emitted object. * * const el = document.createElement('baht-keyvalue-editor'); * el.value = { state: 'resolved' }; * el.addEventListener('baht-change', (e) => save(e.detail.value)); */ export declare class BahtKeyvalueEditor extends BahtElement { value: Record; keyPlaceholder: string; valuePlaceholder: string; add_label: string; disabled: boolean; private rows; /** Last value synced/emitted, serialized — hosts re-feed fresh-but-equal objects. */ private syncedJson; protected willUpdate(changed: Map): void; private toRows; private commit; private edit; private readonly addRow; protected render(): TemplateResult; }