using System.Collections.Generic;
using System.Threading.Tasks;

namespace Carbon.Storage
{
    public interface IReadOnlyBucket
    {
        Task<IReadOnlyList<IBlob>> ListAsync(string prefix = null);

        Task<IBlob> GetAsync(string key);

        Task<IBlobResult> GetAsync(string key, GetBlobOptions options);

        Task<IReadOnlyDictionary<string, string>> GetPropertiesAsync(string key);
    }
}