using System; using System.Collections.Generic; using System.Threading.Tasks; using Frostfs.V2.Ape; namespace FrostFS.SDK.Client.Interfaces; public interface IFrostFSClient : IDisposable { #region Network Task GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null); Task GetNodeInfoAsync(PrmNodeInfo? args = null); Task GetNetworkSettingsAsync(PrmNetworkSettings? args = null); #endregion #region Session Task CreateSessionAsync(PrmSessionCreate args); #endregion #region ApeManager Task> AddChainAsync(PrmApeChainAdd args); Task RemoveChainAsync(PrmApeChainRemove args); Task ListChainAsync(PrmApeChainList args); #endregion #region Container Task GetContainerAsync(PrmContainerGet args); IAsyncEnumerable ListContainersAsync(PrmContainerGetAll? args = null); Task CreateContainerAsync(PrmContainerCreate args); Task DeleteContainerAsync(PrmContainerDelete args); #endregion #region Object Task GetObjectHeadAsync(PrmObjectHeadGet args); Task GetObjectAsync(PrmObjectGet args); Task GetRangeAsync(PrmRangeGet args); Task[]> GetRangeHashAsync(PrmRangeHashGet args); Task PutObjectAsync(PrmObjectPut args); Task PutSingleObjectAsync(PrmSingleObjectPut args); Task PatchObjectAsync(PrmObjectPatch args); Task DeleteObjectAsync(PrmObjectDelete args); IAsyncEnumerable SearchObjectsAsync(PrmObjectSearch args); #endregion #region Account Task GetBalanceAsync(PrmBalance? args = null); #endregion #region Tools FrostFsObjectId CalculateObjectId(FrostFsObjectHeader header); #endregion public Task Dial(CallContext ctx); public void Close(); }