import type { InlineEditBaseProps, KeyValueRow } from "./types.js";
/** Props for {@link InlineEditKeyValue}. */
export interface InlineEditKeyValueProps extends InlineEditBaseProps {
    /** Current key-value entries. */
    readonly value: readonly KeyValueRow[];
    /** Called with the updated rows when a change is confirmed. */
    readonly onSave: (rows: KeyValueRow[]) => Promise<boolean>;
    /** Label for the "key" column. @default "Key" */
    readonly keyLabel?: string;
    /** Show the value alongside the key in read mode and provide a value input in edit mode. @default false */
    readonly showValue?: boolean;
    /** Label for the "value" column (only relevant when showValue is true). @default "Value" */
    readonly valueLabel?: string;
    /** Show the "secret" toggle per row. @default false */
    readonly showSecretToggle?: boolean;
    /** Show the "optional" toggle per row. @default false */
    readonly showOptionalToggle?: boolean;
    /** Show the description field per row. @default false */
    readonly showDescription?: boolean;
    /** Controlled editing state. */
    readonly editing?: boolean;
    /** Called when editing state changes (controlled mode). */
    readonly onEditingChange?: (editing: boolean) => void;
}
/**
 * Inline editor for key-value pair lists (env vars, tags, etc.).
 *
 * Read mode shows a compact table. Edit mode adds/removes/edits
 * rows with per-row confirmation. The full updated list is saved
 * when the user clicks "Save changes".
 */
export declare function InlineEditKeyValue({ value, onSave, keyLabel, showValue, valueLabel, showSecretToggle, showOptionalToggle, showDescription, editing: controlledEditing, onEditingChange, disabled, isSaving, error, className, }: InlineEditKeyValueProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=InlineEditKeyValue.d.ts.map