namespace TakeoutSaaS.Module.Storage.Abstractions;

/// <summary>
/// 存储提供商解析器，用于按需选择具体实现。
/// </summary>
public interface IStorageProviderResolver
{
    /// <summary>
    /// 根据配置解析出可用的存储提供商。
    /// </summary>
    /// <param name="provider">目标提供商类型，空则使用默认配置。</param>
    /// <returns>对应的存储提供商。</returns>
    IObjectStorageProvider Resolve(StorageProviderKind? provider = null);
}
