using System;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Activity Starring API.
///
///
/// See the Activity Starring API documentation for more information.
///
public interface IObservableStarredClient
{
///
/// Retrieves all of the stargazers for the passed repository
///
/// The owner of the repository
/// The name of the repository
/// Thrown if the client is not authenticated
IObservable GetAllStargazers(string owner, string name);
///
/// Retrieves all of the stargazers for the passed repository
///
/// The Id of the repository
/// Thrown if the client is not authenticated
IObservable GetAllStargazers(long repositoryId);
///
/// Retrieves all of the stargazers for the passed repository
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
/// Thrown if the client is not authenticated
IObservable GetAllStargazers(string owner, string name, ApiOptions options);
///
/// Retrieves all of the stargazers for the passed repository
///
/// The Id of the repository
/// Options for changing the API response
/// Thrown if the client is not authenticated
IObservable GetAllStargazers(long repositoryId, ApiOptions options);
///
/// Retrieves all of the stargazers for the passed repository with star creation timestamps.
///
/// The owner of the repository
/// The name of the repository
/// Thrown if the client is not authenticated.
IObservable GetAllStargazersWithTimestamps(string owner, string name);
///
/// Retrieves all of the stargazers for the passed repository with star creation timestamps.
///
/// The Id of the repository
/// Thrown if the client is not authenticated.
IObservable GetAllStargazersWithTimestamps(long repositoryId);
///
/// Retrieves all of the stargazers for the passed repository with star creation timestamps.
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
/// Thrown if the client is not authenticated.
IObservable GetAllStargazersWithTimestamps(string owner, string name, ApiOptions options);
///
/// Retrieves all of the stargazers for the passed repository with star creation timestamps.
///
/// The Id of the repository
/// Options for changing the API response
/// Thrown if the client is not authenticated.
IObservable GetAllStargazersWithTimestamps(long repositoryId, ApiOptions options);
///
/// Retrieves all of the starred (ies) for the current user
///
/// Thrown if the client is not authenticated
IObservable GetAllForCurrent();
///
/// Retrieves all of the starred (ies) for the current user
///
/// Thrown if the client is not authenticated
IObservable GetAllForCurrent(ApiOptions options);
///
/// Retrieves all of the starred (ies) for the current user with star creation timestamps.
///
/// Thrown if the client is not authenticated.
IObservable GetAllForCurrentWithTimestamps();
///
/// Retrieves all of the starred (ies) for the current user with star creation timestamps.
///
/// Thrown if the client is not authenticated.
IObservable GetAllForCurrentWithTimestamps(ApiOptions options);
///
/// Retrieves all of the starred (ies) for the current user
///
/// Star-specific request parameters that sort the results
/// Thrown if the client is not authenticated
IObservable GetAllForCurrent(StarredRequest request);
///
/// Retrieves all of the starred (ies) for the current user
///
/// Star-specific request parameters that sort the results
/// Options for changing the API response
/// Thrown if the client is not authenticated
IObservable GetAllForCurrent(StarredRequest request, ApiOptions options);
///
/// Retrieves all of the starred (ies) for the current user with star creation timestamps.
///
/// Star-specific request parameters that sort the results
/// Thrown if the client is not authenticated.
IObservable GetAllForCurrentWithTimestamps(StarredRequest request);
///
/// Retrieves all of the starred (ies) for the current user with star creation timestamps.
///
/// Star-specific request parameters that sort the results
/// Options for changing the API response
/// Thrown if the client is not authenticated.
IObservable GetAllForCurrentWithTimestamps(StarredRequest request, ApiOptions options);
///
/// Retrieves all of the (ies) starred by the specified user
///
/// The login of the user
/// Thrown if the client is not authenticated
IObservable GetAllForUser(string user);
///
/// Retrieves all of the (ies) starred by the specified user
///
/// The login of the user
/// Options for changing the API response
/// Thrown if the client is not authenticated
IObservable GetAllForUser(string user, ApiOptions options);
///
/// Retrieves all of the (ies) starred by the specified user with star creation timestamps.
///
/// The login of the user
/// Thrown if the client is not authenticated.
IObservable GetAllForUserWithTimestamps(string user);
///
/// Retrieves all of the (ies) starred by the specified user with star creation timestamps.
///
/// The login of the user
/// Options for changing the API response
/// Thrown if the client is not authenticated.
IObservable GetAllForUserWithTimestamps(string user, ApiOptions options);
///
/// Retrieves all of the (ies) starred by the specified user
///
/// The login of the user
/// Star-specific request parameters that sort the results
/// Thrown if the client is not authenticated
IObservable GetAllForUser(string user, StarredRequest request);
///
/// Retrieves all of the (ies) starred by the specified user
///
/// The login of the user
/// Star-specific request parameters that sort the results
/// Options for changing the API response
/// Thrown if the client is not authenticated
IObservable GetAllForUser(string user, StarredRequest request, ApiOptions options);
///
/// Retrieves all of the (ies) starred by the specified user with star creation timestamps.
///
/// The login of the user
/// Star-specific request parameters that sort the results
/// Thrown if the client is not authenticated.
IObservable GetAllForUserWithTimestamps(string user, StarredRequest request);
///
/// Retrieves all of the (ies) starred by the specified user with star creation timestamps.
///
/// The login of the user
/// Star-specific request parameters that sort the results
/// Options for changing the API response
/// Thrown if the client is not authenticated.
IObservable GetAllForUserWithTimestamps(string user, StarredRequest request, ApiOptions options);
///
/// Check if a repository is starred by the current authenticated user
///
/// The owner of the repository
/// The name of the repository
/// Thrown if the client is not authenticated.
IObservable CheckStarred(string owner, string name);
///
/// Stars a repository for the authenticated user
///
/// The owner of the repository to star
/// The name of the repository to star
IObservable StarRepo(string owner, string name);
///
/// Unstars a repository for the authenticated user
///
/// The owner of the repository to unstar
/// The name of the repository to unstar
IObservable RemoveStarFromRepo(string owner, string name);
}
}