using System;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Issue Assignees API.
///
///
/// See the Issue Assignees API documentation for more information.
///
public interface IObservableAssigneesClient
{
///
/// Gets all the available assignees (owner + collaborators) to which issues may be assigned.
///
/// The owner of the repository
/// The name of the repository
IObservable GetAllForRepository(string owner, string name);
///
/// Gets all the available assignees (owner + collaborators) to which issues may be assigned.
///
/// The Id of the repository
IObservable GetAllForRepository(long repositoryId);
///
/// Gets all the available assignees (owner + collaborators) to which issues may be assigned.
///
/// The owner of the repository
/// The name of the repository
/// The options to change API's behaviour.
IObservable GetAllForRepository(string owner, string name, ApiOptions options);
///
/// Gets all the available assignees (owner + collaborators) to which issues may be assigned.
///
/// The Id of the repository
/// The options to change API's behaviour.
IObservable GetAllForRepository(long repositoryId, ApiOptions options);
///
/// Checks to see if a user is an assignee for a repository.
///
/// The owner of the repository
/// The name of the repository
/// Username of the prospective assignee
IObservable CheckAssignee(string owner, string name, string assignee);
///
/// Add assignees to a specified Issue.
///
/// The owner of the repository
/// The name of the repository
/// The issue number
/// List of names of assignees to add
///
IObservable AddAssignees(string owner, string name, int number, AssigneesUpdate assignees);
///
/// Remove assignees from a specified Issue.
///
/// The owner of the repository
/// The name of the repository
/// The issue number
/// List of assignees to remove
///
IObservable RemoveAssignees(string owner, string name, int number, AssigneesUpdate assignees);
///
/// Checks to see if a user is an assignee for a repository.
///
/// The Id of the repository
/// Username of the prospective assignee
IObservable CheckAssignee(long repositoryId, string assignee);
}
}