///
import { IReadonlyObservableValue } from '../../Core/Observable';
import { IColor } from '../../Utilities/Color';
import { ILabelModel } from "../Label/Label.Props";
export interface ISuggestionsProps {
/**
* Observable for the current selected color
*/
currentSelectedColorIndex: number | IReadonlyObservableValue;
/**
* The currently selected index
*/
currentSelectedIndex: number;
/**
* Display the color picker or the "New Label" row?
* @default false
*/
disableColorPicker?: boolean;
/**
* Is the current search text already in the parent group?
*/
isCurrentInputAlreadyInGroup: boolean;
/**
* Are we currently loading items?
*/
isLoading: boolean;
/**
* Optional: Text to be displayed when suggestion is already in group
* @default "This label is already included"
*/
inputAlreadyInGroupText?: string;
/**
* Optional handler that will be called when the component updates
* Used to check for duplicates in the parent
* Leave undefined if you want to be able to add duplicates
*/
onCheckForExactMatch?: (suggestions: ILabelModel[]) => boolean;
/**
* Optional event handler for when a color pip is clicked, enhanced with relevant data
*/
onColorPipClick?: (event: React.MouseEvent, color: IColor, index: number) => void;
/**
* Optional event handler for when the New Label row is clicked; only used in colorless mode
* Color picker will display when New Label row is hovered by default, so this isn't necessary unless it's disabled
*/
onNewLabelClick?: (event: React.MouseEvent) => void;
/**
* Optional event handler for when a suggestion in the list is clicked
*/
onSuggestionClick?: (event: React.MouseEvent, labelModel: ILabelModel) => void;
/**
* Currently suggested Labels
*/
suggestedItems: ILabelModel[];
/**
* Color picker colors
* @default []
*/
swatchPickerColors?: IColor[];
}