import enum gameEItemIDFlag : Uint8
{
	Preview,
}

importonly struct ItemID
{
	public import static function IsValid( itemID : ItemID ) : Bool;
	public import static function None() : ItemID;
	public import static function FromTDBID( tdbID : TweakDBID ) : ItemID;
	public import static function GetTDBID( itemID : ItemID ) : TweakDBID;
	public import static function CreateQuery( tdbID : TweakDBID ) : ItemID;
	public import static function IsOfTDBID( itemID : ItemID, tdbID : TweakDBID ) : Bool;
	public import static function IsQuery( itemID : ItemID ) : Bool;
	public import static function HasFlag( itemID : ItemID, flag : gameEItemIDFlag ) : Bool;
	public import static function GetStructure( itemID : ItemID ) : gamedataItemStructure;
	public import static function GetCombinedHash( itemID : ItemID ) : Uint64;
	public import static function GetRngSeed( itemID : ItemID ) : Uint32;
	public import static function DuplicateRandomSeedWithOffset( referenceItemID : ItemID, newItemTDBID : TweakDBID, offset : Int32 ) : ItemID;
	public import static function CreateFromSeedWithOffset( newItemTDBID : TweakDBID, seed : Uint32, offset : Int32 ) : ItemID;
}

import operator==( a : ItemID, b : ItemID ) : Bool;
import operator!=( a : ItemID, b : ItemID ) : Bool;
