importonly class inkArray extends IScriptable
{
	public import function PushBack( object : weak< IScriptable > );
	public import function PopBack() : weak< IScriptable >;
	public import function InsertAt( index : Uint32, object : weak< IScriptable > ) : Bool;
	public import function Remove( object : weak< IScriptable > ) : Bool;
	public import function Clear();
	public import function Size() : Int32;
	public import function Empty() : Bool;
	public import function Get() : array< weak< IScriptable > >;
}

importonly class inkFIFOQueue extends IScriptable
{
	public import function Init( objects : array< weak< IScriptable > > );
	public import function Dequeue() : weak< IScriptable >;
	public import function Enqueue();
}

importonly class inkHashMap extends IScriptable
{
	public import function Insert( key : Uint64, value : IScriptable );
	public import function Get( key : Uint64 ) : weak< IScriptable >;
	public import function Set( key : Uint64, value : IScriptable );
	public import function KeyExist( key : Uint64 ) : Bool;
	public import function Remove( key : Uint64 ) : Bool;
	public import function Clear();
	public import function GetValues( values : ref< array< weak< IScriptable > > > );
}

importonly class inkWeakHashMap extends IScriptable
{
	public import function Insert( key : Uint64, value : weak< IScriptable > );
	public import function Get( key : Uint64 ) : weak< IScriptable >;
	public import function Set( key : Uint64, value : weak< IScriptable > );
	public import function KeyExist( key : Uint64 ) : Bool;
	public import function Remove( key : Uint64 ) : Bool;
	public import function Clear();
	public import function GetValues( values : ref< array< weak< IScriptable > > > );
}

importonly class inkIntHashMap extends IScriptable
{
	public import function Insert( key : Uint64, value : Int32 );
	public import function Get( key : Uint64 ) : Int32;
	public import function Set( key : Uint64, value : Int32 );
	public import function KeyExist( key : Uint64 ) : Bool;
	public import function Remove( key : Uint64 ) : Bool;
	public import function Clear();
	public import function GetValues( values : ref< array< Int32 > > );
}

importonly class inkStringMap extends IScriptable
{
	public import function Insert( key : String, value : Uint64 );
	public import function Get( key : String ) : Uint64;
	public import function Set( key : String, value : Uint64 );
	public import function Size() : Uint32;
	public import function KeyExist( key : String ) : Bool;
	public import function Clear();
}

