import React from 'react'; import type { FormControlProps } from 'amis-core'; interface IOption { label: string; value: string; editing?: boolean; } export interface KeyValueControlProps extends FormControlProps { } export interface KeyValueControlState { unitOptions: IOption[]; } export declare class KeyValueMapControl extends React.Component { constructor(props: KeyValueControlProps); transformOptions(props: KeyValueControlProps): any[]; /** * 数据更新 */ componentWillReceiveProps(nextProps: KeyValueControlProps): void; /** * 增加 */ handleAdd(): void; /** * 批量增加 */ handleBatchAdd(values: { batchOption: string; }[]): void; /** * 编辑文本 */ handleEditLabel(index: number, value: string): void; /** * 编辑值 */ handleValueChange(index: number, value: string): void; /** * 修改编辑状态 */ toggleEdit(index: number): void; /** * 删除选项 */ handleDelete(index: number): void; /** * 更新unitOptions字段的统一出口 */ onChange(): void; renderOption(item: IOption, index: number): React.JSX.Element; buildBatchAddSchema(): { type: string; actionType: string; label: string; dialog: { title: string; headerClassName: string; closeOnEsc: boolean; closeOnOutside: boolean; showCloseButton: boolean; onConfirm: (values: { batchOption: string; }[]) => void; body: ({ type: string; level: string; body: { type: string; tpl: string; }[]; showIcon: boolean; className: string; wrapWithPanel?: undefined; mode?: undefined; wrapperComponent?: undefined; resetAfterSubmit?: undefined; autoFocus?: undefined; preventEnterSubmit?: undefined; horizontal?: undefined; } | { type: string; wrapWithPanel: boolean; mode: string; wrapperComponent: string; resetAfterSubmit: boolean; autoFocus: boolean; preventEnterSubmit: boolean; horizontal: { left: number; right: number; }; body: { name: string; type: string; label: string; placeholder: string; trimContents: boolean; minRows: number; maxRows: number; required: boolean; }[]; level?: undefined; showIcon?: undefined; className?: undefined; })[]; }; }; render(): React.JSX.Element; } export {};