using System; using System.Collections.Generic; using System.Threading.Tasks; namespace FrostFS.SDK.Client.Interfaces; public interface IFrostFSClient { #region Network Task GetNetmapSnapshotAsync(CallContext ctx); Task GetNodeInfoAsync(CallContext ctx); Task GetNetworkSettingsAsync(CallContext ctx); #endregion #region Session Task CreateSessionAsync(PrmSessionCreate args, CallContext ctx); #endregion #region ApeManager Task> AddChainAsync(PrmApeChainAdd args, CallContext ctx); Task RemoveChainAsync(PrmApeChainRemove args, CallContext ctx); Task ListChainAsync(PrmApeChainList args, CallContext ctx); #endregion #region Container Task GetContainerAsync(PrmContainerGet args, CallContext ctx); IAsyncEnumerable ListContainersAsync(PrmContainerGetAll args, CallContext ctx); [Obsolete("Use PutContainerAsync method")] Task CreateContainerAsync(PrmContainerCreate args, CallContext ctx); Task PutContainerAsync(PrmContainerCreate args, CallContext ctx); Task DeleteContainerAsync(PrmContainerDelete args, CallContext ctx); #endregion #region Object Task GetObjectHeadAsync(PrmObjectHeadGet args, CallContext ctx); Task GetObjectAsync(PrmObjectGet args, CallContext ctx); Task GetRangeAsync(PrmRangeGet args, CallContext ctx); Task[]> GetRangeHashAsync(PrmRangeHashGet args, CallContext ctx); Task PutObjectAsync(PrmObjectPut args, CallContext ctx); Task PutClientCutObjectAsync(PrmObjectClientCutPut args, CallContext ctx); Task PutSingleObjectAsync(PrmSingleObjectPut args, CallContext ctx); Task PatchObjectAsync(PrmObjectPatch args, CallContext ctx); Task DeleteObjectAsync(PrmObjectDelete args, CallContext ctx); IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args, CallContext ctx); #endregion #region Account Task GetBalanceAsync(CallContext ctx); #endregion }