// Assembly: UnityEngine.UIElementsModule
// Full name: UnityEngine.UIElements.CollectionViewController

namespace UnityEngine.UIElements
{
public class CollectionViewController // TypeDefIndex: 5116
{
	// Fields
	type#15054 m_View;
	type#20230 m_ItemsSource;
	type#14106 itemsSourceChanged;
	type#3445 itemIndexChanged;

	// Methods
	// RVA: -1
	public type#28660 add_itemsSourceChanged(type#14105 value) { }
	// RVA: -1
	public type#28660 remove_itemsSourceChanged(type#14105 value) { }
	// RVA: -1
	public type#28660 add_itemIndexChanged(type#3444 value) { }
	// RVA: -1
	public type#28660 remove_itemIndexChanged(type#3444 value) { }
	// RVA: -1
	public virtual type#20229 get_itemsSource() { }
	// RVA: -1
	public virtual type#28660 set_itemsSource(type#20229 value) { }
	// RVA: -1
	protected internal type#28660 SetHierarchyViewModelWithoutNotify(type#19605 source) { }
	// RVA: -1
	protected type#15053 get_view() { }
	// RVA: -1
	public type#28660 SetView(type#15053 collectionView) { }
	// RVA: -1
	protected virtual type#28660 PrepareView() { }
	// RVA: -1
	public virtual type#28660 Dispose() { }
	// RVA: -1
	public virtual type#20867 GetItemsCount() { }
	// RVA: -1
	internal virtual type#20867 GetItemsMinCount() { }
	// RVA: -1
	public virtual type#20867 GetIndexForId(type#20867 id) { }
	// RVA: -1
	public virtual type#20867 GetIdForIndex(type#20867 index) { }
	// RVA: -1
	public virtual type#23705 GetItemForIndex(type#20867 index) { }
	// RVA: -1
	internal virtual type#28660 InvokeMakeItem(type#25388 reusableItem) { }
	// RVA: -1
	internal virtual type#28660 SetBindingContext(type#25388 reusableItem, type#20867 index) { }
	// RVA: -1
	internal virtual type#28660 InvokeBindItem(type#25388 reusableItem, type#20867 index) { }
	// RVA: -1
	internal virtual type#28660 InvokeUnbindItem(type#25388 reusableItem, type#20867 index) { }
	// RVA: -1
	internal virtual type#28660 InvokeDestroyItem(type#25388 reusableItem) { }
	// RVA: -1
	internal virtual type#28660 PreRefresh() { }
	// RVA: -1
	protected abstract type#28615 MakeItem() { }
	// RVA: -1
	protected abstract type#28660 BindItem(type#28615 element, type#20867 index) { }
	// RVA: -1
	protected abstract type#28660 UnbindItem(type#28615 element, type#20867 index) { }
	// RVA: -1
	protected abstract type#28660 DestroyItem(type#28615 element) { }
	// RVA: -1
	protected type#28660 RaiseItemsSourceChanged() { }
	// RVA: -1
	protected type#28660 RaiseItemIndexChanged(type#20867 srcIndex, type#20867 dstIndex) { }
	// RVA: -1
	protected type#28660 .ctor() { }
}
}
