using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Core.Domain.Interfaces;
public interface ISignatureService
{
///
/// Get one signature by Id.
///
/// Signature Id.
Task GetSignatureAsync(Guid signatureId);
///
/// Returns all signatures for specified account.
///
/// Account id
Task> GetSignaturesAsync(Guid accountId);
///
/// Creates a new signature for the account.
///
/// Signature that should be created. It should contain ID and account to which it belongs.
Task CreateSignatureAsync(AccountSignature signature);
///
/// Creates a default Wino signature for the account.
/// Needed only for initial account setup.
///
/// Account Id.
Task CreateDefaultSignatureAsync(Guid accountId);
///
/// Updates existing signature.
///
/// Signature that should be updated. It should contain ID and account to which it belongs.
Task UpdateSignatureAsync(AccountSignature signature);
///
/// Deletes existing signature.
///
/// Signature that should be deleted.
Task DeleteSignatureAsync(AccountSignature signature);
}