using System;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Activity Events API.
///
///
/// See the Activity Events API documentation for more information
///
public interface IObservableEventsClient
{
///
/// Gets all the public events
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAll();
///
/// Gets all the public events
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events
///
/// Options for changing the API response
IObservable GetAll(ApiOptions options);
///
/// Gets all the events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The owner of the repository
/// The name of the repository
IObservable GetAllForRepository(string owner, string name);
///
/// Gets all the events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The Id of the repository
IObservable GetAllForRepository(int repositoryId);
///
/// Gets all the events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
IObservable GetAllForRepository(string owner, string name, ApiOptions options);
///
/// Gets all the events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The Id of the repository
/// Options for changing the API response
IObservable GetAllForRepository(int repositoryId, ApiOptions options);
///
/// Gets all the issue events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The owner of the repository
/// The name of the repository
IObservable GetAllIssuesForRepository(string owner, string name);
///
/// Gets all the issue events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The Id of the repository
IObservable GetAllIssuesForRepository(int repositoryId);
///
/// Gets all the issue events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
IObservable GetAllIssuesForRepository(string owner, string name, ApiOptions options);
///
/// Gets all the issue events for a given repository
///
///
/// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
///
/// The Id of the repository
/// Options for changing the API response
IObservable GetAllIssuesForRepository(int repositoryId, ApiOptions options);
///
/// Gets all the events for a given repository network
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories
///
/// The owner of the repository
/// The name of the repository
IObservable GetAllForRepositoryNetwork(string owner, string name);
///
/// Gets all the events for a given repository network
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
IObservable GetAllForRepositoryNetwork(string owner, string name, ApiOptions options);
///
/// Gets all the events for a given organization
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-for-an-organization
///
/// The name of the organization
IObservable GetAllForOrganization(string organization);
///
/// Gets all the events for a given organization
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-for-an-organization
///
/// The name of the organization
/// Options for changing the API response
IObservable GetAllForOrganization(string organization, ApiOptions options);
///
/// Gets all the events that have been received by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received
///
/// The login of the user
IObservable GetAllUserReceived(string user);
///
/// Gets all the events that have been received by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received
///
/// The login of the user
/// Options for changing the API response
IObservable GetAllUserReceived(string user, ApiOptions options);
///
/// Gets all the events that have been received by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received
///
/// The login of the user
IObservable GetAllUserReceivedPublic(string user);
///
/// Gets all the events that have been received by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received
///
/// The login of the user
/// Options for changing the API response
IObservable GetAllUserReceivedPublic(string user, ApiOptions options);
///
/// Gets all the events that have been performed by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-performed-by-a-user
///
/// The login of the user
IObservable GetAllUserPerformed(string user);
///
/// Gets all the events that have been performed by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-performed-by-a-user
///
/// The login of the user
/// Options for changing the API response
IObservable GetAllUserPerformed(string user, ApiOptions options);
///
/// Gets all the public events that have been performed by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
///
/// The login of the user
IObservable GetAllUserPerformedPublic(string user);
///
/// Gets all the public events that have been performed by a given user.
///
///
/// http://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
///
/// The login of the user
/// Options for changing the API response
IObservable GetAllUserPerformedPublic(string user, ApiOptions options);
///
/// Gets all the events that are associated with an organization.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-for-an-organization
///
/// The login of the user
/// The name of the organization
IObservable GetAllForAnOrganization(string user, string organization);
///
/// Gets all the events that are associated with an organization.
///
///
/// http://developer.github.com/v3/activity/events/#list-events-for-an-organization
///
/// The login of the user
/// The name of the organization
/// Options for changing the API response
IObservable GetAllForAnOrganization(string user, string organization, ApiOptions options);
}
}