// Copyright (c) 2025 TerraByte Inc.
//
// A non-generic interface that allows the PromiseManager to track and
// tick promises without needing to know their specific result type.
using UnityEngine.Scripting;
namespace Terra.Arbitrator.Promises
{
///
/// Represents a promise that can be ticked by the PromiseManager.
///
[Preserve]
public interface ITrackablePromise
{
///
/// Executes pending callbacks if the promise is settled.
///
/// True if the promise is settled (resolved or rejected), otherwise false.
bool Tick();
}
}