using System;
using System.Threading;
using System.Threading.Tasks;
using Wino.Core.Domain.Models.AutoDiscovery;
namespace Wino.Core.Domain.Interfaces;
///
/// Searches for auto-discovery settings for custom mail accounts.
///
public interface IAutoDiscoveryService
{
///
/// Tries to return the best mail server settings using different techniques.
///
Task GetAutoDiscoverySettings(AutoDiscoveryMinimalSettings autoDiscoveryMinimalSettings);
///
/// Tries to resolve a CalDAV endpoint for the mailbox address.
///
Task DiscoverCalDavServiceUriAsync(string mailAddress, CancellationToken cancellationToken = default);
}