using System.Threading; namespace Cysharp.Threading.Tasks { public interface IUniTaskAsyncEnumerable { IUniTaskAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default); } public interface IUniTaskAsyncEnumerator : IUniTaskAsyncDisposable { T Current { get; } UniTask MoveNextAsync(); } public interface IUniTaskAsyncDisposable { UniTask DisposeAsync(); } }