using System; using System.Threading.Tasks; namespace Wabbajack.Common.CSP { public interface IReadPort<TOut> : ICloseable { ValueTask<(bool, TOut)> Take(bool onCaller = true); (AsyncResult, TOut) Take(Handler<Action<bool, TOut>> handler); } }