using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using FrostFS.SDK.ModelsV2; namespace FrostFS.SDK.ClientV2.Interfaces; public interface IFrostFSClient { Task GetContainerAsync(ContainerId containerId); IAsyncEnumerable ListContainersAsync(); Task CreateContainerAsync(ModelsV2.Container container); Task DeleteContainerAsync(ContainerId containerId); Task GetObjectHeadAsync(ContainerId containerId, ObjectId objectId); Task GetObjectAsync(ContainerId containerId, ObjectId objectId); Task PutObjectAsync(ObjectHeader header, Stream payload); Task PutObjectAsync(ObjectHeader header, byte[] payload); Task PutSingleObjectAsync(ModelsV2.Object obj); Task DeleteObjectAsync(ContainerId containerId, ObjectId objectId); IAsyncEnumerable SearchObjectsAsync(ContainerId cid, params ObjectFilter[] filters); }