using System; using System.Collections.Concurrent; using System.Threading; using Cysharp.Threading.Tasks; using Speckle.ConnectorUnity.Converter; using Speckle.Core.Api; using Speckle.Core.Credentials; using UnityEngine.Events; namespace Speckle.ConnectorUnity.Ops { public interface ISpeckleOps { public Account account { get; } public Stream stream { get; } public CancellationToken token { get; } public UniTask Initialize(Account account, string streamId); public event UnityAction OnClientRefresh; } public interface ISpeckleOpsEvent : IHaveProgress { public event UnityAction> OnProgressAction; public event UnityAction OnErrorAction; public event UnityAction OnTotalChildCountAction; } public interface ICanConverter { /// /// the active converter for this client object /// ScriptableSpeckleConverter converter { get; set; } } }