import * as React from 'react'; import { DropResult } from 'react-beautiful-dnd'; import { WithStyles } from '../withStyles'; import styles from './ListField.styles'; interface ListFieldProps extends WithStyles { /** The value of the list field */ value: T[]; /** Function to render the item label, useful when list is an array of objects */ getItemLabel?: (item: T, index: number) => string; /** Function to get the key of each item, defaults to using the index */ getItemKey?: (item: T, index: number) => string; /** Function to get an error for an item */ hasItemError?: (item: T, index: number) => boolean; /** Called with the new value when items have been reordered */ onChange: (value: T[]) => any; /** Called when an item is clicked */ onItemClick: (item: T, index: number) => any; /** Called when the user clicks the add button */ onAdd: () => any; /** Add button label */ addLabel?: string; /** Set to true to disable the add button. */ addDisabled?: boolean; } export declare class ListField extends React.Component, {}> { static defaultProps: { value: any[]; getItemLabel: (item: any) => any; getItemKey: (_: any, index: number) => string; hasItemError: () => boolean; addLabel: string; addDisabled: boolean; }; onDragEnd: ({ source, destination }: DropResult) => void; renderItem: (item: T, index: number) => JSX.Element; render(): JSX.Element; } declare const _default: React.ComponentType, "classes" | "innerRef" | "onChange" | "onItemClick" | "onAdd"> & Partial, "value" | "addDisabled" | "addLabel" | "getItemLabel" | "getItemKey" | "hasItemError">> & Partial any; getItemKey: (_: any, index: number) => string; hasItemError: () => boolean; addLabel: string; addDisabled: boolean; }, never>>, "onChange" | "value" | "addDisabled" | "addLabel" | "getItemLabel" | "getItemKey" | "hasItemError" | "onItemClick" | "onAdd"> & import("@material-ui/core/styles/withStyles").StyledComponentProps>; export default _default;