using System;
namespace UnityEditor.TestTools.TestRunner.GUI.Controls
{
///
/// Defines a content provider that can be used with the control.
///
internal interface ISelectionDropDownContentProvider
{
///
/// The total number of items to display.
///
int Count { get; }
///
/// Multiple selection support.
/// Multiple selection dropdowns don't get closed on selection change.
///
bool IsMultiSelection { get; }
///
/// The indices of items which should be followed by separator lines.
///
int[] SeparatorIndices { get; }
///
/// Returns the display name of the item at the specified index.
///
/// The index of the item whose display name is to be returned.
/// The display name of the item at the specified index.
string GetName(int index);
///
/// Signals a request to select the item at the specified index.
///
/// The index of the item to be selected.
void SelectItem(int index);
///
/// Returns the selection status of the item at the specified index.
///
/// The index of the item whose selection status is to be returned.
/// true if the item is currently selected; otherwise, false.
bool IsSelected(int index);
}
}