import 'package:cargocalculaterapp/features/home/data/models/comment_request.dart';
import 'package:cargocalculaterapp/features/home/data/models/comment_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/notification_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/order_single_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/orders_list_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_request.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_response.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/error/failure.dart';
import '../../data/models/banner_response.dart';

abstract class HomeRepository {
  Future<Either<Failure, OrdersListResponse>> ordersList(
    Map<String, dynamic> request,
  );

  Future<Either<Failure, OrderSingleResponse>> orderSingle(String orderId);

  Future<Either<Failure, CommentResponse>> comment(CommentRequest request);

  Future<Either<Failure, NotificationResponse>> notification(
    Map<String, dynamic> request,
  );

  Future<Either<Failure, ReadNotificationResponse>> notificationRead(
    ReadNotificationRequest request,
  );

  Future<Either<Failure, List<BannerResponse>>> bannersGet();
}
