import { MouseEvent } from 'react';
import { BoxProps } from 'grommet';
import { ITagProps } from '../Tag/TagProps';
export declare type TagValueType = string | string[];
export interface ITagsProps {
/** Function that will be called when each option is rendered */
children?: (tags: TagValueType[], index: number, value: TagValueType) => React.ReactNode;
/** Whether the tag list is focusable */
focusable?: boolean;
/** Icon element to remove a tag */
icon?: React.ReactNode;
/** Tag elements `` and `` properties */
tagProps?: ITagProps & BoxProps;
/** Function that will be called when the user removes a tag */
onChange?: (event: {
option: TagValueType[];
value: TagValueType;
target: Element | Text;
}) => void;
/** Function that will be called when the user clicks on a tag */
onClick?: (event: MouseEvent, value: TagValueType) => void;
/** Placeholder text to use when no value is provided */
placeholder?: string;
/** List of tag items to display */
value?: TagValueType;
}