using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using MimeKit; using Wino.Core.Domain.Entities.Shared; using Wino.Core.Domain.Models.Contacts; namespace Wino.Core.Domain.Interfaces; public interface IContactService { Task> GetAddressInformationAsync(string queryText); Task GetAddressInformationByAddressAsync(string address); Task SaveAddressInformationAsync(MimeMessage message); Task SaveAddressInformationAsync(IEnumerable contacts); Task CreateNewContactAsync(string address, string displayName); // New methods for ContactsPage Task> GetAllContactsAsync(); Task> SearchContactsAsync(string searchQuery); Task GetContactsPageAsync(int offset, int pageSize, string searchQuery = null, bool excludeRootContacts = false); Task UpdateContactAsync(AccountContact contact); Task DeleteContactAsync(string address); Task DeleteContactsAsync(IEnumerable addresses); }