using System; namespace Questionable.Controller.Steps; internal interface ITaskExecutor { ITask CurrentTask { get; } InteractionProgressContext? ProgressContext { get; } Type GetTaskType(); bool Start(ITask task); bool ShouldInterruptOnDamage(); bool WasInterrupted(); void ResetTimeout(); bool HasTimedOut(float timeoutSeconds); ETaskResult Update(); }