import 'package:fcs/domain/entities/cargo_type.dart';
import 'package:fcs/domain/entities/custom_duty.dart';
import 'package:fcs/domain/entities/discount_by_weight.dart';
import 'package:fcs/domain/entities/rate.dart';

abstract class RateService {
  Stream<Rate> getRateStream();

  Future<void> updateRate(Rate rate);

  Future<void> createCargoType(CargoType cargoType);
  Future<void> updateCargoType(CargoType cargoType);
  Future<void> deleteCargoType(String id);

  Future<void> createCustomDuty(CustomDuty customDuty);
  Future<void> updateCustomDuty(CustomDuty customDuty);
  Future<void> deleteCustomDuty(String id);

  Future<void> createDiscountByWeight(DiscountByWeight discountByWeight);
  Future<void> updateDiscountByWeight(DiscountByWeight discountByWeight);
  Future<void> deleteDiscountByWeight(String id);
}
