using System;
using System.Diagnostics.CodeAnalysis;
using System.Reactive;
namespace Octokit.Reactive
{
public interface IObservableFollowersClient
{
///
/// List the authenticated user’s followers
///
///
/// See the API documentation for more information.
///
/// A of s that follow the authenticated user.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllForCurrent();
///
/// List the authenticated user’s followers
///
/// Options for changing the API response
///
/// See the API documentation for more information.
///
/// A of s that follow the authenticated user.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllForCurrent(ApiOptions options);
///
/// List a user’s followers
///
/// The login name for the user
///
/// See the API documentation for more information.
///
/// A of s that follow the passed user.
IObservable GetAll(string login);
///
/// List a user’s followers
///
/// Options for changing the API response
/// The login name for the user
///
/// See the API documentation for more information.
///
/// A of s that follow the passed user.
IObservable GetAll(string login, ApiOptions options);
///
/// List who the authenticated user is following
///
///
/// See the API documentation for more information.
///
/// A of s that the authenticated user follows.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllFollowingForCurrent();
///
/// List who the authenticated user is following
///
/// Options for changing the API response
///
/// See the API documentation for more information.
///
/// A of s that the authenticated user follows.
IObservable GetAllFollowingForCurrent(ApiOptions options);
///
/// List who a user is following
///
/// The login name of the user
///
/// See the API documentation for more information.
///
/// A of s that the passed user follows.
IObservable GetAllFollowing(string login);
///
/// List who a user is following
///
/// The login name of the user
/// Options for changing the API response
///
/// See the API documentation for more information.
///
/// A of s that the passed user follows.
IObservable GetAllFollowing(string login, ApiOptions options);
///
/// Check if the authenticated user follows another user
///
/// The login name of the other user
///
/// See the API documentation for more information.
///
/// A bool representing the success of the operation.
IObservable IsFollowingForCurrent(string following);
///
/// Check if one user follows another user
///
/// The login name of the user
/// The login name of the other user
///
/// See the API documentation for more information.
///
/// A bool representing the success of the operation.
IObservable IsFollowing(string login, string following);
///
/// Follow a user
///
/// The login name of the user to follow
///
/// See the API documentation for more information.
///
/// A bool representing the success of the operation.
IObservable Follow(string login);
///
/// Unfollow a user
///
/// The login name of the user to unfollow
///
/// See the API documentation for more information.
///
///
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Unfollow",
Justification = "Unfollow is consistent with the GitHub website")]
IObservable Unfollow(string login);
}
}