using Domain.Entities;
using Domain.Generics;

namespace Core.Interfaces
{
    public interface IPeopleDom
    {
        Task<PagedResult<EPerson>> GetAllAsync(int page = 1, int pageSize = 50);
        Task<PagedResult<EPerson>> SearchAsync(string? name, string? email, int page = 1, int pageSize = 50);
        Task<EPerson?> GetByIdAsync(int id);
        Task<EPerson> AddAsync(EPerson person);
        Task<bool> UpdateAsync(EPerson person);
        Task<bool> DeleteAsync(int id);
        Task<byte[]> ExportFilteredCustomersToExcelAsync(PeopleSearchParams searchParams);
    }
}
