import React from 'react'; import { FormItemComponentProps } from '@music163/tango-setting-form'; export declare function useListSetter(props: FormItemComponentProps): { readOnly?: boolean; disabled?: boolean; status?: "" | "error" | "warning"; value: any[]; onAdd: (data: any) => void; getOnEdit: (index: number) => (data: any) => void; getOnRemove: (index: number) => () => void; onMove: (start: number, end: number) => void; }; interface ListSetterItemProps extends EditButtonProps { index?: number; onRemove?: () => void; children?: React.ReactNode; onMove?: Function; } export declare function ListSetterItem({ children, onRemove, index, onMove, ...rest }: ListSetterItemProps): React.JSX.Element; interface EditButtonProps { formFields?: NewOptionFormProps['fields']; formInitialValues?: NewOptionFormProps['initialValues']; onEdit?: (values: any) => void; } interface AddListItemButtonProps { formFields?: NewOptionFormProps['fields']; /** * @deprecated 使用 formInitialValues 代替 */ formInitialValues?: NewOptionFormProps['initialValues']; getFormInitialValues?: () => NewOptionFormProps['initialValues']; text?: string; onAdd?: (values: any) => void; } export declare function AddListItemButton({ formFields, formInitialValues, getFormInitialValues, text, onAdd, }: AddListItemButtonProps): React.JSX.Element; export type NewOptionFormFieldType = { label: string; name: string; required?: boolean; valuePropName?: string; component?: React.ReactNode; extra?: React.ReactNode; width?: string; }; interface NewOptionFormProps { fields?: NewOptionFormFieldType[]; initialValues?: Record; onSubmit: (values: Record) => void; } interface ListSetterProps extends FormItemComponentProps { listItemFormFields: ListSetterItemProps['formFields']; newItemDefaultValues?: AddListItemButtonProps['formInitialValues']; getNewItemDefaultValues?: AddListItemButtonProps['getFormInitialValues']; addBtnText?: string; getListItemKey?: (item: any) => React.Key; renderItem?: (item: any) => React.ReactNode; } /** * 列表项设置器 */ export declare function ListSetter(props: ListSetterProps): React.JSX.Element; export {};