using LittleShop.DTOs; using LittleShop.Models; namespace LittleShop.Services; public interface ICustomerService { Task GetCustomerByIdAsync(Guid id); Task GetCustomerByTelegramUserIdAsync(long telegramUserId); Task CreateCustomerAsync(CreateCustomerDto createCustomerDto); Task UpdateCustomerAsync(Guid id, UpdateCustomerDto updateCustomerDto); Task DeleteCustomerAsync(Guid id); Task> GetAllCustomersAsync(); Task> SearchCustomersAsync(string searchTerm); Task GetOrCreateCustomerAsync(long telegramUserId, string displayName, string username = "", string firstName = "", string lastName = ""); Task UpdateCustomerMetricsAsync(Guid customerId); Task BlockCustomerAsync(Guid customerId, string reason); Task UnblockCustomerAsync(Guid customerId); }