import 'package:superport/data/models/maintenance_dto.dart';

abstract class MaintenanceRepository {
  Future<MaintenanceListResponse> getMaintenances({
    int page = 1,
    int perPage = 20,
    int? equipmentId,
    String? maintenanceType,
    bool? isExpired,
    int? expiringDays,
    bool includeDeleted = false,
  });
  
  Future<MaintenanceDto> getMaintenanceDetail(int id);
  
  Future<MaintenanceDto> createMaintenance(MaintenanceRequestDto request);
  
  Future<MaintenanceDto> updateMaintenance(int id, MaintenanceUpdateRequestDto request);
  
  Future<void> deleteMaintenance(int id);
  
  // 만료 예정 유지보수 조회 (백엔드 전용 API)
  Future<List<MaintenanceDto>> getExpiringMaintenances({int days = 30});
}