import enum gameScriptedBlackboardStorage
{
	Default,
}

importonly final class BlackboardChangedEvent extends Event
{
	public import const final function GetDefinition() : BlackboardDefinition;
	public import const final function GetID() : BlackboardID;
}

importonly abstract class IBlackboard extends IScriptable
{
	public import static function Create( definition : BlackboardDefinition ) : IBlackboard;
	public import const final function Signal( id : BlackboardID );
	public import const final function FireCallbacks();
	public import final function ClearAllFields( signal : Bool );
	public import final function RegisterEntity( id : BlackboardID, gameInstance : GameInstance, entityID : EntityID ) : Uint32;
	public import final function UnregisterEntity( id : BlackboardID, out callbackHandle : CallbackHandle );
	public import const final function GetBool( id : BlackboardID_Bool ) : Bool;
	public import final function SetBool( id : BlackboardID_Bool, value : Bool, optional forceFire : Bool );
	public import final function SignalBool( id : BlackboardID_Bool );
	public import final function RegisterListenerBool( id : BlackboardID_Bool, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerBool( id : BlackboardID_Bool, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerBool( id : BlackboardID_Bool, out callbackHandle : CallbackHandle );
	public import const final function GetInt( id : BlackboardID_Int ) : Int32;
	public import final function SetInt( id : BlackboardID_Int, value : Int32, optional forceFire : Bool );
	public import final function SignalInt( id : BlackboardID_Int );
	public import final function RegisterListenerInt( id : BlackboardID_Int, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerInt( id : BlackboardID_Int, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerInt( id : BlackboardID_Int, out callbackHandle : CallbackHandle );
	public import const final function GetUint( id : BlackboardID_Uint ) : Uint32;
	public import final function SetUint( id : BlackboardID_Uint, value : Uint32, optional forceFire : Bool );
	public import final function SignalUint( id : BlackboardID_Uint );
	public import final function RegisterListenerUint( id : BlackboardID_Uint, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerUint( id : BlackboardID_Uint, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerUint( id : BlackboardID_Uint, out callbackHandle : CallbackHandle );
	public import const final function GetFloat( id : BlackboardID_Float ) : Float;
	public import final function SetFloat( id : BlackboardID_Float, value : Float, optional forceFire : Bool );
	public import final function SignalFloat( id : BlackboardID_Float );
	public import final function RegisterListenerFloat( id : BlackboardID_Float, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerFloat( id : BlackboardID_Float, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerFloat( id : BlackboardID_Float, out callbackHandle : CallbackHandle );
	public import const final function GetString( id : BlackboardID_String ) : String;
	public import final function SetString( id : BlackboardID_String, value : String, optional forceFire : Bool );
	public import final function SignalString( id : BlackboardID_String );
	public import final function RegisterListenerString( id : BlackboardID_String, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerString( id : BlackboardID_String, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerString( id : BlackboardID_String, out callbackHandle : CallbackHandle );
	public import const final function GetName( id : BlackboardID_Name ) : CName;
	public import final function SetName( id : BlackboardID_Name, value : CName, optional forceFire : Bool );
	public import final function SignalName( id : BlackboardID_Name );
	public import final function RegisterListenerName( id : BlackboardID_Name, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerName( id : BlackboardID_Name, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerName( id : BlackboardID_Name, out callbackHandle : CallbackHandle );
	public import const final function GetVector2( id : BlackboardID_Vector2 ) : Vector2;
	public import final function SetVector2( id : BlackboardID_Vector2, value : Vector2, optional forceFire : Bool );
	public import final function SignalVector2( id : BlackboardID_Vector2 );
	public import final function RegisterListenerVector2( id : BlackboardID_Vector2, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerVector2( id : BlackboardID_Vector2, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerVector2( id : BlackboardID_Vector2, out callbackHandle : CallbackHandle );
	public import const final function GetVector4( id : BlackboardID_Vector4 ) : Vector4;
	public import final function SetVector4( id : BlackboardID_Vector4, value : Vector4, optional forceFire : Bool );
	public import final function SignalVector4( id : BlackboardID_Vector4 );
	public import final function RegisterListenerVector4( id : BlackboardID_Vector4, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerVector4( id : BlackboardID_Vector4, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerVector4( id : BlackboardID_Vector4, out callbackHandle : CallbackHandle );
	public import const final function GetQuat( id : BlackboardID_Quat ) : Quaternion;
	public import final function SetQuat( id : BlackboardID_Quat, value : Quaternion, optional forceFire : Bool );
	public import final function SignalQuat( id : BlackboardID_Quat );
	public import final function RegisterListenerQuat( id : BlackboardID_Quat, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerQuat( id : BlackboardID_Quat, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerQuat( id : BlackboardID_Quat, out callbackHandle : CallbackHandle );
	public import const final function GetEntityID( id : BlackboardID_EntityID ) : EntityID;
	public import final function SetEntityID( id : BlackboardID_EntityID, value : EntityID, optional forceFire : Bool );
	public import final function SignalEntityID( id : BlackboardID_EntityID );
	public import final function RegisterListenerEntityID( id : BlackboardID_EntityID, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerEntityID( id : BlackboardID_EntityID, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerEntityID( id : BlackboardID_EntityID, out callbackHandle : CallbackHandle );
	public import const final function GetVariant( tag : BlackboardID_Variant ) : Variant;
	public import final function SetVariant( tag : BlackboardID_Variant, value : Variant, optional forceFire : Bool );
	public import final function SignalVariant( id : BlackboardID_Variant );
	public import final function RegisterListenerVariant( tag : BlackboardID_Variant, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function RegisterDelayedListenerVariant( id : BlackboardID_Variant, object : IScriptable, func : CName, optional fireIfValueExist : Bool ) : CallbackHandle;
	public import final function UnregisterListenerVariant( id : BlackboardID_Variant, out callbackHandle : CallbackHandle );
	public import final function UnregisterDelayedListener( id : BlackboardID, out callbackHandle : CallbackHandle );
}

