using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface ILocationService { Task GetLocationByIdAsync(int id); Task GetLocationByIdWithDetailsAsync(int id); Task> GetAllLocationsAsync(); Task> GetLocationsByAccountIdAsync(int accountId); Task> GetLocationsPagedAsync(int page, int pageSize, string? search = null); Task CreateLocationAsync(CreateLocationDTO dto, string userId); Task UpdateLocationAsync(int id, UpdateLocationDTO dto, string userId); Task DeleteLocationAsync(int id, string userId); Task LocationExistsAsync(int id); Task GetTotalLocationCountAsync(); } }