
import 'package:rasadyar_inspection/data/model/response/user_profile/user_profile_model.dart';

abstract class UserRepository {
  /// Fetches the user profile from the remote data source.
  ///
  /// Returns a [Future] that resolves to a [UserProfileModel].
  Future<UserProfileModel?> fetchUserProfile({required String token});

  /// Updates the user profile in the remote data source.
  ///
  /// Takes a [UserProfileModel] as an argument and returns a [Future] that resolves to a boolean indicating success or failure.
  Future<bool> updateUserProfile(UserProfileModel userProfile);

  /// Changes the password of the user in the remote data source.
  ///
  /// Takes the old password, new password, and confirm password as arguments and returns a [Future] that resolves to a boolean indicating success or failure.
  Future<bool> changePassword(String oldPassword, String newPassword, String confirmPassword);
}
