import 'package:dartz/dartz.dart';
import 'package:tugas_akhir_supabase/core/errors/failures.dart';
import 'package:tugas_akhir_supabase/domain/entities/crop_schedule.dart';

abstract class CropScheduleRepository {
  Future<Either<Failure, List<CropSchedule>>> getSchedules(String userId);
  Future<Either<Failure, CropSchedule>> createSchedule(String userId, CropSchedule schedule);
  Future<Either<Failure, CropSchedule>> updateSchedule(String userId, CropSchedule schedule);
  Future<Either<Failure, bool>> deleteSchedule(String userId, String scheduleId);
  Future<Either<Failure, Map<String, dynamic>?>> getActiveSchedule(String userId);
} 