using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface IPMScheduleService { Task GetPMScheduleByIdAsync(int id); Task GetPMScheduleByIdWithDetailsAsync(int id); Task> GetAllPMSchedulesAsync(); Task> GetPMSchedulesByLocationIdAsync(int locationId); Task> GetPMSchedulesPagedAsync(int page, int pageSize, string? search = null); Task CreatePMScheduleAsync(CreatePMScheduleDTO dto, string userId); Task UpdatePMScheduleAsync(int id, UpdatePMScheduleDTO dto, string userId); Task DeletePMScheduleAsync(int id, string userId); Task PMScheduleExistsAsync(int id); Task GetTotalPMScheduleCountAsync(); } }