importonly abstract class BaseItemDataSource extends AbstractDataSource
{
	public import function GetItem( index : Uint32 ) : weak< gameItemData >;
	public import function HasItem( data : weak< gameItemData > ) : Bool;
}

importonly class ItemDataSource extends BaseItemDataSource
{
	public import function Initialize( owner : GameObject );
}

importonly class ItemDataView extends BaseItemDataSource
{
	public import function SetSource( source : weak< BaseItemDataSource > );
	public import function AddSkipTag( tag : CName );
	public import function RemoveSkipTag( tag : CName );
	public import function SetSkipTags( tags : array< CName > );
	public import function ResetSkipTags();
	public import function Filter();
	public import function SetItemTypesForSorting( types : array< gamedataItemType > );
	public import function ResetItemTypesForSorting();
	public import function EnableSorting();
	public import function DisableSorting();
	public import function IsSortingEnabled() : Bool;
	public import function Sort();
}

