importonly abstract class AITweakActionSystem extends IGameSystem
{
	public import function EvaluateActionCondition( ctx : ref< ScriptExecutionContext >, record : AIActionCondition_Record ) : Bool;
	public import function EvaluateActionTargetObject( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, out object : GameObject ) : Bool;
	public import function EvaluateActionTargetAll( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, predictionTime : Float, out object : GameObject, out position : Vector4, out coverId : Uint64 ) : Bool;
	public import function ForceDirty( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID ) : Bool;
	public import function ActivationCheck( ctx : ref< ScriptExecutionContext >, actionRecordId : TweakDBID ) : Bool;
	public import function NextPhaseCheck( ctx : ref< ScriptExecutionContext >, actionRecordId : TweakDBID, phase : Uint32 ) : Bool;
	public import function RepeatPhaseCheck( ctx : ref< ScriptExecutionContext >, actionRecordId : TweakDBID, phase : Uint32 ) : Bool;
	public import function IsTweakCompositeAlternativesLimitEnabled( ctx : ref< ScriptExecutionContext >, playerInCombat : Bool ) : Bool;
	public import function GetTweakCompositeAlternativesLimit( ctx : ref< ScriptExecutionContext > ) : Uint32;
	public import function Debug_OnActionStarted( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, baseId : TweakDBID, optional compositeId : TweakDBID ) : Uint32;
	public import function Debug_OnActionEnded( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID ) : Uint32;
	public import function Debug_OnActionPhaseStarted( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, phase : Uint32 ) : Uint32;
	public import function Debug_OnActionNextPhase( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, phase : Uint32, value : Bool ) : Uint32;
	public import function Debug_OnActionRepeatPhase( ctx : ref< ScriptExecutionContext >, recordId : TweakDBID, phase : Uint32, value : Bool ) : Uint32;
}

